try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));//
//rgbIV與rgbKey可以不一樣,這里只是為了簡便,讀者可以自行修改
byte[] rgbIV = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString); //這是待加密資料部分
DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());
}
catch //try,catch是固定用法。try是正常代碼,如果出例外,就轉到執行catch
{
return encryptString;
}
對于這部分des加密的代碼,CreateEncryptor函式的變數為什么除了key還有iv呢?這個CreateEncryptor函式應該就是加密函式吧,是不是跟教材上講的方式有不同呢?教材提供的就是最開始的des設計方案,沒提出過iv的概念的。本人是新人,有c基礎,剛接觸c#,還請大神們解釋的時候詳細一些。筆者將感激不盡,而且筆者也會很努力的,早日躋身資訊安全行列幫助更多的人。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/119497.html
標籤:網絡通信
上一篇:關于生活中二層資料幀的問題
下一篇:從無到有,電腦小白學python
