public void EncryptMessageTest() { var message = Encoding.UTF8.GetBytes("bob"); const string TO_ID = "Lqm2Foa9keELvGf8cYHJB3CRzEgPLuxJnBdtbZRbhuGmx3dhQB"; var expected = Encoding.UTF8.GetBytes("bob"); var encrypted = MessageCrypto.EncryptMessage(message, TO_ID); var privateKey = Sodium.Utilities.HexToBinary("4ba8e0b41fc07b5a1d4e0be0a4b464f6f2673a3854f967b5c31102b15683a195"); var key = PublicKeyBox.GenerateKeyPair(privateKey); var actual = MessageCrypto.DecryptMessage(encrypted, key); CollectionAssert.AreEqual(expected, actual); }
private void EncryptLinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (message.Text.Length > 0) { encrypt.Enabled = false; try { Enabled = false; message.Text = Base58Check.Base58CheckEncoding.Encode( MessageCrypto.EncryptMessage(Encoding.UTF8.GetBytes(message.Text), toId.Text)); } catch (Exception ex) { MessageBox.Show(string.Format("Unable to encrypt message.\r\nError: '{0}'", ex.Message), "CurveLock Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Enabled = true; } } }