【发布时间】:2010-01-05 22:15:10
【问题描述】:
我正在尝试加密要存储在数据库中的电子邮件正文,以避免未经授权的人阅读它,以避免 SQL 注入攻击。
1- 您对加密电子邮件有何看法?
2-为什么它不起作用?无论如何我都想学习加密文本。
SymmetricAlgorithm symAlgo = SymmetricAlgorithm.Create();
// I will not use the default keys, although I think they are random enough.
symAlgo.GenerateKey();
symAlgo.GenerateIV();
byte[] key = symAlgo.Key;
byte[] iv = symAlgo.Key;
ICryptoTransform crypto = symAlgo.CreateEncryptor();
byte[] block = UtilityMA.StringUtil.ConvertUTF16StringToByteArray(HTMLBody);
byte[] cipherText = new byte[block.Length + 32];
crypto.TransformBlock(block, 0, block.Length, cipherText, 0);
symAlgo.Clear();
crypto.Dispose();
crypto.TransformBlock 触发异常
System.ArgumentException 未被用户代码处理
Message="值无效。"
来源="mscorlib"
堆栈跟踪: 在 System.Security.Cryptography.RijndaelManagedTransform.TransformBlock(字节 [] inputBuffer,Int32 inputOffset,Int32 inputCount,Byte [] outputBuffer,Int32 outputOffset) 在 C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\BLL\BLL\Contact\History.cs: 35 中的 Demo.BLL.Contact.History.SendEmail(String HTMLBody, Int32 Record_Id) 在 c:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\Demos\ContactDemo\Contact.aspx.cs:line 46 中的 _Default.BtnSend_Click(Object sender, EventArgs e) 在 System.Web.UI.WebControls.Button.OnClick(EventArgs e) 在 System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串 eventArgument) 在 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(字符串 eventArgument) 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,字符串 eventArgument) 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) 在 System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint) 内部异常:
【问题讨论】:
标签: .net