| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- //############################################################
- // https://github.com/yuzhengyang
- // author:yuzhengyang
- //############################################################
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Security.Cryptography;
- using System.Text;
- using System.Threading.Tasks;
- namespace Y.Utils.DataUtils.EncryptUtils
- {
- public class AesTool
- {
- //byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678901234567890123456789012");
- /// <summary>
- /// 加密
- /// </summary>
- /// <param name="str">要加密的 string 字符串</param>
- /// <param name="key"></param>
- /// <returns></returns>
- public static string Encrypt(string str, string key)
- {
- byte[] keyArray = Encoding.UTF8.GetBytes(key);
- byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);
- RijndaelManaged rDel = new RijndaelManaged();
- rDel.Key = keyArray;
- rDel.Mode = CipherMode.ECB;
- rDel.Padding = PaddingMode.PKCS7;
- ICryptoTransform cTransform = rDel.CreateEncryptor();
- byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
- return Convert.ToBase64String(resultArray, 0, resultArray.Length);
- }
- /// <summary>
- /// 加密
- /// </summary>
- /// <param name="array">要加密的 byte[] 数组</param>
- /// <param name="key"></param>
- /// <returns></returns>
- public static byte[] Encrypt(byte[] array, string key)
- {
- byte[] keyArray = Encoding.UTF8.GetBytes(key);
- RijndaelManaged rDel = new RijndaelManaged();
- rDel.Key = keyArray;
- rDel.Mode = CipherMode.ECB;
- rDel.Padding = PaddingMode.PKCS7;
- ICryptoTransform cTransform = rDel.CreateEncryptor();
- byte[] resultArray = cTransform.TransformFinalBlock(array, 0, array.Length);
- return resultArray;
- }
- /// <summary>
- /// 解密
- /// </summary>
- /// <param name="str">要解密的 string 字符串</param>
- /// <param name="key"></param>
- /// <returns></returns>
- public static string Decrypt(string str, string key)
- {
- byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key);
- byte[] toEncryptArray = Convert.FromBase64String(str);
- RijndaelManaged rDel = new RijndaelManaged();
- rDel.Key = keyArray;
- rDel.Mode = CipherMode.ECB;
- rDel.Padding = PaddingMode.PKCS7;
- ICryptoTransform cTransform = rDel.CreateDecryptor();
- byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
- return UTF8Encoding.UTF8.GetString(resultArray);
- }
- /// <summary>
- /// 解密
- /// </summary>
- /// <param name="array">要解密的 byte[] 数组</param>
- /// <param name="key"></param>
- /// <returns></returns>
- public static byte[] Decrypt(byte[] array, string key)
- {
- byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key);
- RijndaelManaged rDel = new RijndaelManaged();
- rDel.Key = keyArray;
- rDel.Mode = CipherMode.ECB;
- rDel.Padding = PaddingMode.PKCS7;
- ICryptoTransform cTransform = rDel.CreateDecryptor();
- byte[] resultArray = cTransform.TransformFinalBlock(array, 0, array.Length);
- return resultArray;
- }
- }
- }
|