• AES加密及解密


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Security.Cryptography;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Dome1
    {
        public class Encryption
        {
            private string encryptKey = "4h!@w$rng,i#$@x1%)5^3(7*5P31/Ee0";
    
            //默认密钥向量
            private byte[] Keys = { 0x41, 0x72, 0x65, 0x79, 0x6F, 0x75, 0x6D, 0x79, 0x53, 0x6E, 0x6F, 0x77, 0x6D, 0x61, 0x6E, 0x3F };
            /// <summary>
            /// 加密
            /// </summary>
            /// <param name="encryptString"></param>
            /// <returns></returns>
            public string Encrypt(string encryptString)
            {
                if (string.IsNullOrEmpty(encryptString))
                    return string.Empty;
                RijndaelManaged rijndaelProvider = new RijndaelManaged();
                rijndaelProvider.Key = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 32));
                rijndaelProvider.IV = Keys;
                ICryptoTransform rijndaelEncrypt = rijndaelProvider.CreateEncryptor();
    
                byte[] inputData = Encoding.UTF8.GetBytes(encryptString);
                byte[] encryptedData = rijndaelEncrypt.TransformFinalBlock(inputData, 0, inputData.Length);
    
                return Convert.ToBase64String(encryptedData);
            }
            /// <summary>
            /// 解密
            /// </summary>
            /// <param name="decryptString"></param>
            /// <returns></returns>
            public string Decrypt(string decryptString)
            {
                if (string.IsNullOrEmpty(decryptString))
                    return string.Empty;
                try
                {
                    RijndaelManaged rijndaelProvider = new RijndaelManaged();
                    rijndaelProvider.Key = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 32));
                    rijndaelProvider.IV = Keys;
                    ICryptoTransform rijndaelDecrypt = rijndaelProvider.CreateDecryptor();
    
                    byte[] inputData = Convert.FromBase64String(decryptString);
                    byte[] decryptedData = rijndaelDecrypt.TransformFinalBlock(inputData, 0, inputData.Length);
    
                    return Encoding.UTF8.GetString(decryptedData);
                }
                catch
                {
                    return "";
                }
            }
        }
    }
  • 相关阅读:
    jquery_DOM笔记3
    jquery_DOM笔记2
    mac之jdk环境变量配置
    360导致的mysql问题解决
    windows服务器apache配置https教程
    生成自己openssl的证书
    wkhtmltopdf中文乱码
    安装ruby、rails
    extjs中返回数据时id不能重复,否则数据会被合并
    gzip压缩ext-all.js
  • 原文地址:https://www.cnblogs.com/fenger-VIP/p/7592873.html
Copyright © 2020-2023  润新知