• (原创)常用加密解密


    加密
    代码
    public static string Encrypt(string toEncrypt, bool useHashing)
        {
            
    byte[] keyArray;
            
    byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);

            System.Configuration.AppSettingsReader settingsReader 
    = new AppSettingsReader();

            
    string key = (string)settingsReader.GetValue("SecurityKey"typeof(String));

            
    if (useHashing)
            {
                MD5CryptoServiceProvider hashmd5 
    = new MD5CryptoServiceProvider();
                keyArray 
    = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));

                hashmd5.Clear();
            }
            
    else
                keyArray 
    = UTF8Encoding.UTF8.GetBytes(key);

            TripleDESCryptoServiceProvider tdes 
    = new TripleDESCryptoServiceProvider();

            tdes.Key 
    = keyArray;

            tdes.Mode 
    = CipherMode.ECB;
            tdes.Padding 
    = PaddingMode.PKCS7;

            ICryptoTransform cTransform 
    = tdes.CreateEncryptor();

            
    byte[] resultArray = cTransform.TransformFinalBlock
                    (toEncryptArray, 
    0, toEncryptArray.Length);
            tdes.Clear();
            
    return Convert.ToBase64String(resultArray, 0, resultArray.Length);
        }

    解密:

    代码
    public static string Decrypt(string cipherString, bool useHashing)
        {
            
    byte[] keyArray;


            
    byte[] toEncryptArray = Convert.FromBase64String(cipherString);

            System.Configuration.AppSettingsReader settingsReader 
    = new AppSettingsReader();
            
    string key = (string)settingsReader.GetValue("SecurityKey"typeof(String));

            
    if (useHashing)
            {
                MD5CryptoServiceProvider hashmd5 
    = new MD5CryptoServiceProvider();
                keyArray 
    = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));

                hashmd5.Clear();
            }
            
    else
            {
                keyArray 
    = UTF8Encoding.UTF8.GetBytes(key);
             }

            TripleDESCryptoServiceProvider tdes 
    = new TripleDESCryptoServiceProvider();

            tdes.Key 
    = keyArray;
            

            tdes.Mode 
    = CipherMode.ECB;

            tdes.Padding 
    = PaddingMode.PKCS7;

            ICryptoTransform cTransform 
    = tdes.CreateDecryptor();
            
    byte[] resultArray = cTransform.TransformFinalBlock
                    (toEncryptArray, 
    0, toEncryptArray.Length);

            tdes.Clear();

            
    return UTF8Encoding.UTF8.GetString(resultArray);
        }
  • 相关阅读:
    【ASP.NET 插件】zyUpload的HTML5上传插件
    【软件】图文解释XCode常用快捷键的使用
    【软件使用】Windows下的Objective-C集成开发环境搭建(IDE)
    【Javascript Demo】移动端访问PC端网页时跳转到对应的移动端网页
    【网络文摘】30多年程序员生涯经验总结
    【算法】网上看到的5个问题
    【ASP.NET 进阶】定时执行任务
    【ASP.NET 基础】Page类和回调技术
    【ASP.NET 基础】表单和控件
    【ASP.NET 基础】ASP.NET内置对象
  • 原文地址:https://www.cnblogs.com/ghfsusan/p/1620377.html
Copyright © 2020-2023  润新知