AES加密,解密方法

來源:互聯網
上載者:User

加密:

View Code

//加密,docPath:要加密的檔案路徑,strKey:秘鑰public static void Encrypt(string docPath, string strKey){    //區塊編碼器演算法    var fs = new FileStream(docPath, FileMode.Open);    byte[] buffer = new byte[fs.Length];    fs.Read(buffer, 0, buffer.Length);//得到需要加密的位元組數組        //設定密鑰,密鑰向量,兩個一樣,都是16個byte    var rDel = new RijndaelManaged();    var key = Encoding.UTF8.GetBytes(strKey);    rDel.Key = key;    rDel.Mode = CipherMode.ECB;    rDel.Padding = PaddingMode.PKCS7;    ICryptoTransform cTransform = rDel.CreateEncryptor();    byte[] cipherBytes = cTransform.TransformFinalBlock(buffer, 0, buffer.Length);    var fsEncrypt = new FileStream(docPath + "ENC", FileMode.Create, FileAccess.Write);    fsEncrypt.Write(cipherBytes, 0, cipherBytes.Length);    fsEncrypt.Close();    fsEncrypt.Dispose();    fs.Close();    fs.Dispose();}

解密:

View Code

//解密,fileIn:解密的檔案路徑,fileOut:解密後的檔案存放路徑,strKey:秘鑰public static void Decrypt(string fileIn, string fileOut, string strKey){    var fsIn = new FileStream(fileIn, FileMode.Open, FileAccess.Read);    var fsOut = new FileStream(fileOut, FileMode.OpenOrCreate, FileAccess.Write);    var rDel = new RijndaelManaged();    var key = Encoding.UTF8.GetBytes(strKey);    rDel.Key = key;    rDel.Mode = CipherMode.ECB;    rDel.Padding = PaddingMode.PKCS7;    var cs = new CryptoStream(fsOut, rDel.CreateDecryptor(), CryptoStreamMode.Write);    var bufferLen = 4096;    var buffer = new byte[bufferLen];    int bytesRead;    do    {        bytesRead = fsIn.Read(buffer, 0, bufferLen);        cs.Write(buffer, 0, bytesRead);    } while (bytesRead != 0);    cs.Close();    fsIn.Close();    fsIn.Dispose();    fsOut.Dispose();}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.