Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// <summary>
- /// aes-256-cbc 解码
- /// </summary>
- /// <param name="cipherData"></param>
- /// <param name="keyString"></param>
- /// <param name="ivString"></param>
- /// <returns></returns>
- public static string Decrypt(string cipherData, string keyString, string ivString)
- {
- byte[] key = Encoding.UTF8.GetBytes(keyString);
- byte[] iv = Encoding.UTF8.GetBytes(ivString);
- try
- {
- using (var rijndaelManaged =
- new RijndaelManaged { Key = key, IV = iv, Mode = CipherMode.CBC })
- using (var memoryStream =
- new MemoryStream(Convert.FromBase64String(cipherData)))
- using (var cryptoStream =
- new CryptoStream(memoryStream,
- rijndaelManaged.CreateDecryptor(key, iv),
- CryptoStreamMode.Read))
- {
- return new StreamReader(cryptoStream).ReadToEnd();
- }
- }
- catch (CryptographicException e)
- {
- Console.WriteLine("A Cryptographic error occurred: {0}", e.Message);
- return null;
- }
- // You may want to catch more exceptions here...
- }
- /// <summary>
- /// aes-256-cbc 加密
- /// </summary>
- /// <param name="message"></param>
- /// <param name="KeyString"></param>
- /// <param name="IVString"></param>
- /// <returns></returns>
- public static string EncryptString(string message, string KeyString, string IVString)
- {
- byte[] Key = ASCIIEncoding.UTF8.GetBytes(KeyString);
- byte[] IV = ASCIIEncoding.UTF8.GetBytes(IVString);
- string encrypted = null;
- RijndaelManaged rj = new RijndaelManaged();
- rj.Key = Key;
- rj.IV = IV;
- rj.Mode = CipherMode.CBC;
- try
- {
- MemoryStream ms = new MemoryStream();
- using (CryptoStream cs = new CryptoStream(ms, rj.CreateEncryptor(Key, IV), CryptoStreamMode.Write))
- {
- using (StreamWriter sw = new StreamWriter(cs))
- {
- sw.Write(message);
- sw.Close();
- }
- cs.Close();
- }
- byte[] encoded = ms.ToArray();
- encrypted = Convert.ToBase64String(encoded);
- ms.Close();
- }
- catch (CryptographicException e)
- {
- Console.WriteLine("A Cryptographic error occurred: {0}", e.Message);
- return null;
- }
- catch (UnauthorizedAccessException e)
- {
- Console.WriteLine("A file error occurred: {0}", e.Message);
- return null;
- }
- catch (Exception e)
- {
- Console.WriteLine("An error occurred: {0}", e.Message);
- }
- finally
- {
- rj.Clear();
- }
- return encrypted;
- }
- //call
- string reta = DeEncode.EncryptString("中文cnn", "12345678901234561234567890123456", "1234567890123456");
- string retb = DeEncode.Decrypt(reta, "12345678901234561234567890123456", "1234567890123456");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement