【发布时间】:2014-06-06 06:52:50
【问题描述】:
我想加密邮件 ID。加密的邮件 ID 不应包含特殊字符。 我从控制台应用程序发送邮件。在控制台应用程序中,我对邮件 ID 进行编码并将其附加到将执行我的点击计数的链接中。在网络应用程序中,我正在解码传递的邮件 ID。因此,如果加密的邮件 ID 包含特殊字符,则会干扰我的链接。
我正在使用以下内容:
string EncryptedEmailId;
string EncryptionKey = "MAKV2SPBNI99212";
byte[] EmailIdEncrypt = Encoding.Unicode.GetBytes(InvEmail);
using (Aes encryptor = Aes.Create())
{
Rfc2898DeriveBytes pdbEncrypt = new Rfc2898DeriveBytes(EncryptionKey, new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 });
encryptor.Key = pdbEncrypt.GetBytes(32);
encryptor.IV = pdbEncrypt.GetBytes(16);
using (MemoryStream msEncrypt = new MemoryStream())
{
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor.CreateEncryptor(), CryptoStreamMode.Write))
{
csEncrypt.Write(EmailIdEncrypt, 0, EmailIdEncrypt.Length);
csEncrypt.Close();
}
EncryptedEmailId = Convert.ToBase64String(msEncrypt.ToArray());
}
}
individualContent = individualContent.Replace("[MailId]", EncryptedEmailId);
【问题讨论】:
标签: asp.net encryption console-application