AES加密解密
2014-09-02 15:21
218 查看
由於 AES 加解密過程中需要兩個位元組陣列: Key 及 IV 而且必須符合規定的大小
因此這兩個資料,我們可以利用 MD5CryptoServiceProvider 或 Rfc2898DeriveBytes 等方式產生雜湊碼
加密 (C#):
加密 (VB):
解密(C#):
解密(VB):
C#原始程式檔
VB原始程式檔
因此這兩個資料,我們可以利用 MD5CryptoServiceProvider 或 Rfc2898DeriveBytes 等方式產生雜湊碼
加密 (C#):
01 | private string enprypt( string plainText, string key) |
02 | { |
03 | AES = new RijndaelManaged(); |
04 | MD5 = new MD5CryptoServiceProvider(); |
05 | byte [] plainTextData= Encoding.Unicode.GetBytes(plainText); |
06 | byte [] keyData= MD5.ComputeHash( Encoding.Unicode.GetBytes(key)); |
07 | byte [] IVData= MD5.ComputeHash(Encoding.Unicode.GetBytes( "Alex Lee" )); |
08 | ICryptoTransform transform= AES.CreateEncryptor(keyData,IVData); |
09 | byte [] outputData= transform.TransformFinalBlock(plainTextData,0,plainTextData.Length); |
10 | return Convert.ToBase64String(output); |
11 | } |
01 | Private Function encrypt( ByVal plainText As String , ByVal key As String ) As String |
02 | Dim AES As New RijndaelManaged() |
03 | Dim MD5 As New MD5CryptoServiceProvider() |
04 | Dim plainTextData As Byte () = Encoding. Unicode .GetBytes(plainText) |
05 | Dim keyData As Byte () = MD5.ComputeHash(Encoding. Unicode .GetBytes(key)) |
06 | Dim IVData As Byte () = MD5.ComputeHash(Encoding. Unicode .GetBytes( "Alex Lee" )) |
07 | Dim transform As ICryptoTransform |
08 | Dim outputData As Byte () |
09 | encrypt = Convert.ToBase64String(outputData) |
10 | End Function |
01 | private string decrypt( byte [] string key) |
02 | { |
03 | AES = new RijndaelManaged(); |
04 | MD5 = new MD5CryptoServiceProvider(); |
05 | byte [] |
06 | byte [] "Alex Lee" )); |
07 | ICryptoTransform |
08 | byte [] |
09 | return Encoding.Unicode.GetString(outputData); |
10 | } |
1 | Private Function decrypt( ByVal cipherTextData As Byte (), ByVal key As String ) As String |
2 | Dim AES As New RijndaelManaged() |
3 | Dim MD5 As New MD5CryptoServiceProvider() |
4 | Dim keyData As Byte () = MD5.ComputeHash(Encoding. Unicode .GetBytes(key)) |
5 | Dim IVData As Byte () = MD5.ComputeHash(Encoding. Unicode .GetBytes( "Alex Lee" )) |
6 | Dim transform As ICryptoTransform |
7 | Dim outputData As Byte () |
8 | decrypt = Encoding. Unicode .GetString(outputData) |
9 | End Function |
VB原始程式檔
相关文章推荐
- AES .net 、JS 相互加密解密
- AES加密与解密
- 常用加密解密算法【RSA、AES、DES、MD5】介绍和使用
- java delphi aes 加密与解密文件兼容算法
- AES加密解密|及Base64的使用
- java写的aes加密解密
- .net core AES加密解密及RSA 签名验签
- AES加密解密内存溢出:OutOfMemoryError: Java heap space 解决
- Android AES 文件加密解密
- 在iOS中使用AES进行媒体文件的加密与解密
- Android AES 文件加密解密
- C# AES加密解密
- openssl与cryptoAPI交互AES加密解密
- JAVA AES加密与解密
- AES加密解密
- java AES 加密/解密
- java AES 加密与解密
- PHP、Java、.Net和Javascript的AES加密解密实现
- python AES 双向对称加密解密
- 在Java和C#中的简单的AES加密和解密