using MathNet.Numerics.Random; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; namespace New_College.Common { /// /// aes解密 /// public static class RSAHelper { /// ///aes解密 /// /// /// /// /// public static string AESDecrypt(string text, string AesKey, string AesIV) { try { //判断是否是16位 如果不够补0 //text = tests(text); //16进制数据转换成byte byte[] encryptedData = Convert.FromBase64String(text); // strToToHexByte(text); RijndaelManaged rijndaelCipher = new RijndaelManaged(); rijndaelCipher.Key = Convert.FromBase64String(AesKey); // Encoding.UTF8.GetBytes(AesKey); rijndaelCipher.IV = Convert.FromBase64String(AesIV);// Encoding.UTF8.GetBytes(AesIV); rijndaelCipher.Mode = CipherMode.CBC; rijndaelCipher.Padding = PaddingMode.PKCS7; ICryptoTransform transform = rijndaelCipher.CreateDecryptor(); byte[] plainText = transform.TransformFinalBlock(encryptedData, 0, encryptedData.Length); string result = Encoding.Default.GetString(plainText); //int index = result.LastIndexOf('>'); //result = result.Remove(index + 1); return result; } catch (Exception ex) { return null; } } /// ///获取随机数 /// /// public static string GetRandomStr() { const string baseChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; Random random = new Random(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < 16; i++) { int index = random.Next(baseChars.Length); sb.Append(baseChars[index]); } return sb.ToString(); } } }