zoukankan      html  css  js  c++  java
  • (原创)常用加密解密

    加密
    代码
    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);
        }
  • 相关阅读:
    Maven在dos窗口中的命令
    11. Spring Boot JPA 连接数据库
    2.JPA学习总结
    1.JPA概要
    10.Maven依赖排除 禁止依赖传递 取消依赖的方法
    10. Spring Boot JDBC 连接数据库
    9.Spring Boot实战之配置使用Logback进行日志记录
    $GLOBALS['HTTP_RAW_POST_DATA'] 和$_POST的区别
    !!!四种常见的 POST 提交数据方式(含application/json)
    PhpStorm Git 配置
  • 原文地址:https://www.cnblogs.com/ghfsusan/p/1620377.html
Copyright © 2011-2022 走看看