zoukankan      html  css  js  c++  java
  • 加密与解密md5 3des

    /// <summary>
            /// MD5加密
            /// </summary>
            /// <param name="s"></param>
            /// <returns></returns>
            public static string MD5Encrypt(string s)
            {
                string strResult = "";
                System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
                byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(s));
                for (int i = 0; i < bytResult.Length; i++)
                {
                    strResult = strResult + bytResult[i].ToString("x").PadLeft(2,'0');
                }
                return strResult;
            }
    
            /// <summary>
            /// 与PHP兼容的MD5加密
            /// </summary>
            /// <param name="password"></param>
            /// <returns></returns>
            public static string MD5(string password)
            {
    
                byte[] textBytes = System.Text.Encoding.UTF8.GetBytes(password);
                try
                {
                    System.Security.Cryptography.MD5CryptoServiceProvider cryptHandler;
                    cryptHandler = new System.Security.Cryptography.MD5CryptoServiceProvider();
                    byte[] hash = cryptHandler.ComputeHash(textBytes);
                    string ret = "";
                    foreach (byte a in hash)
                    {
                        if (a < 16)
                            ret += "0" + a.ToString("x");
                        else
                            ret += a.ToString("x");
                    }
                    return ret;
                }
                catch
                {
                    throw;
                }
    
            }
    
            /// <summary>
            /// 16位md5加密,小写
            /// </summary>
            /// <param name="password"></param>
            /// <returns></returns>
            public static string MD5_16(string password) {
                return MD5(password).ToLower().Substring(8, 16);
            }
    private static string KEY = "222222222222222222";
            private static string IV = "11111222211222111";
    
            /// <summary>
            /// 3DES解密
            /// </summary>
            /// <param name="strText"></param>
            /// <param name="key"></param>
            /// <param name="iv"></param>
            /// <returns></returns>
            public static String DESDecrypt(String strText, string key, string iv)
            {
                System.Security.Cryptography.TripleDESCryptoServiceProvider des3 = new System.Security.Cryptography.TripleDESCryptoServiceProvider();
                des3.Key = Convert.FromBase64String(key);
                des3.IV = Convert.FromBase64String(iv);
    
                string result = string.Empty;
                try
                {
                    byte[] buffer = Convert.FromBase64String(strText);
                    buffer = des3.CreateDecryptor().TransformFinalBlock(buffer, 0, buffer.Length);
                    result = System.Text.Encoding.UTF8.GetString(buffer);
                }
                catch
                {
                   
                }
                return result;
            }
    
            /// <summary>
            /// 3DES加密
            /// </summary>
            /// <param name="strText">待加密文字</param>
            /// <param name="key">KEY</param>
            /// <param name="iv">向量</param>
            /// <returns></returns>
            public static string DESEncrypt(string strText, string key, string iv)
            {
                System.Security.Cryptography.TripleDESCryptoServiceProvider des3 = new System.Security.Cryptography.TripleDESCryptoServiceProvider();
                des3.Key = Convert.FromBase64String(key);
                des3.IV = Convert.FromBase64String(iv);
    
                string result = string.Empty;
                try
                {
                    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strText);
                    buffer = des3.CreateEncryptor().TransformFinalBlock(buffer, 0, buffer.Length);
                    result = Convert.ToBase64String(buffer);
                }
                catch
                {
                    
                }
                return result;
            }
  • 相关阅读:
    搭建自己的博客(四):优化首页和详情页
    搭建自己的博客(三):简单搭建首页和详情页
    搭建自己的博客(二):创建表,创建超级用户
    搭建自己的博客(一):前期准备
    linux系列(五):rm命令
    linux系列(四):mkdir命令
    linux系列(三):pwd命令
    Statically Linking freeglut
    ffmpeg 版本升级到 4.0 增加 libaom 库 [AOMedia 的 AV1 视频编码格式]
    FFmpeg configure: rename cuda to ffnvcodec 2018-03-06
  • 原文地址:https://www.cnblogs.com/jasonlny/p/3747156.html
Copyright © 2011-2022 走看看