zoukankan      html  css  js  c++  java
  • 一些加密方法

     MD5 加密
    using System.Security.Cryptography;
    
    public static string encrypherment(string password)
            {
                string StrEncipherment = "";
                MD5 myMd5 = MD5.Create();
                byte[] mess = myMd5.ComputeHash(System.Text.Encoding.Default.GetBytes(password.ToCharArray()));
                for (int i = 0; i < mess.Length; i++)
                    StrEncipherment += mess[i].ToString("x").PadLeft(2, '0');
                return StrEncipherment;
            }

    ——————————————————————————————————————————————————————————————————————

     
        /// 需要加密的字符串
         /// 偏移量
         /// sDataIn加密后的字符串
         public string GetMD5(string sDataIn, string move)
        {
             System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
             byte[] bytValue, bytHash;
             bytValue = System.Text.Encoding.UTF8.GetBytes(move + sDataIn);
             bytHash = md5.ComputeHash(bytValue);
             md5.Clear();
             string sTemp = "";
             for (int i = 0; i <</SPAN> bytHash.Length; i++)
            {
                 sTemp += bytHash[i].ToString("x").PadLeft(2, '0');
             }
             return sTemp;
     }
     textBox1.Text = this.GetMD5("123456","");
     结果: e10adc3949ba59abbe56e057f20f883e

    其他用法

    public class Md5Convert
    {
         public static string GetMd5Str(string ConvertString)
        {
             MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
             string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8);
             //t2 = t2.Replace("-", "");
             return t2;
         }
     }
     textBox1.Text = Md5Convert.GetMd5Str("123456");
     结果: 49-BA-59-AB-BE-56-E0-57
     可逆的加密方法
    public class Pass
        {
            //默认密钥向量
            private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
    
            /// <summary>
            /// DES加密字符串
            /// </summary>
            /// <param name="encryptString">待加密的字符串</param>
            /// <param name="encryptKey">加密密钥,要求为8位</param>
            /// <returns>加密成功返回加密后的字符串,失败返回源串</returns>
            public static string EncryptDES(string encryptString, string encryptKey)
            {
                try
                {
                    byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
                    byte[] rgbIV = Keys;
                    byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
                    DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
                    MemoryStream mStream = new MemoryStream();
                    CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
                    cStream.Write(inputByteArray, 0, inputByteArray.Length);
                    cStream.FlushFinalBlock();
                    return Convert.ToBase64String(mStream.ToArray());
                }
                catch
                {
                    return encryptString;
                }
            }
    
            /// <summary>
            /// DES解密字符串
            /// </summary>
            /// <param name="decryptString">待解密的字符串</param>
            /// <param name="decryptKey">解密密钥,要求为8位,和加密密钥相同</param>
            /// <returns>解密成功返回解密后的字符串,失败返源串</returns>
            public static string DecryptDES(string decryptString, string decryptKey)
            {
                try
                {
                    byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);
                    byte[] rgbIV = Keys;
                    byte[] inputByteArray = Convert.FromBase64String(decryptString);
                    DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
                    MemoryStream mStream = new MemoryStream();
                    CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
                    cStream.Write(inputByteArray, 0, inputByteArray.Length);
                    cStream.FlushFinalBlock();
                    return Encoding.UTF8.GetString(mStream.ToArray());
                }
                catch
                {
                    return decryptString;
                }
            }
        }

    调用:

    Pass.EncryptDES("字符串", "azjmerbv");
    Pass.DecryptDES("字符串", "azjmerbv");
  • 相关阅读:
    Nginx安装部署手册
    5种mysql日志分析工具比拼
    分析诊断工具之一:MYSQL性能查看(多指标)
    mysqlsla安装和使用介绍
    Linux下MySQL慢查询分析mysqlsla安装使用
    mysql 开启慢查询及其用mysqldumpslow做日志分析
    MySQL性能诊断与调优
    MySQL慢日志查询分析方法与工具
    MySQL 慢日志分析
    MySQL 慢查询日志(Slow Query Log)
  • 原文地址:https://www.cnblogs.com/chcong/p/4245523.html
Copyright © 2011-2022 走看看