zoukankan      html  css  js  c++  java
  • 各种加密算法

    md5:

    
    
           /// <summary>
            /// MD5函数
            /// </summary>
            /// <param name="str"></param>
            /// <param name="encoding"></param>
            /// <returns></returns>
            public static string MD5(string str, Encoding encoding)
            {
                byte[] b = encoding.GetBytes(str);
                b = new MD5CryptoServiceProvider().ComputeHash(b);
                string ret = "";
                for (int i = 0; i < b.Length; i++)
                    ret += b[i].ToString("x").PadLeft(2, '0');
                return ret;
            }
    
    调用方法:
    //  必须制定编码,c#默认是gb2132,但java等语言是utf-8,所以尽量通用
    XXX.Common.Encrypt.MD5(strPrepare,Encoding.UTF8);
    
    
    
    
    

    Hmac_MD5:

        private string Hmac_MD5(string key,string message)
            {
                System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
                byte[] keyByte = encoding.GetBytes(key);
                HMACMD5 hmacmd5 = new HMACMD5(keyByte);
                byte[] messageBytes = encoding.GetBytes(message);
                byte[] hashmessage = hmacmd5.ComputeHash(messageBytes);
                string rtnVal = ByteToString(hashmessage);
                return rtnVal.ToLower();
            }
    
            private static string ByteToString(byte[] buff)
            {
                string sbinary = "";
                for (int i = 0; i < buff.Length; i++)
                {
                    sbinary += buff[i].ToString("X2"); 
                }
                return (sbinary);
            }

    Hmac_SHA1加密:

    /// <summary>
            /// HmacSHA1方式进行macmacmac签名
            /// </summary>
            /// <param name="text">加密的内容</param>
            /// <param name="key">加密key</param>
            /// <returns></returns>
            public string HmacSha1(string text, string key)
            {
                HMACSHA1 hmacsha1 = new HMACSHA1();
                hmacsha1.Key = Encoding.UTF8.GetBytes(key);
                byte[] dataBuffer = Encoding.UTF8.GetBytes(text);
                byte[] hashBytes = hmacsha1.ComputeHash(dataBuffer);
                return Convert.ToBase64String(hashBytes);
            }
  • 相关阅读:
    虚拟机里的mysql怎么外连
    Pytest跳过执行之@pytest.mark.skip()详解大全
    判断字符是什么,返回True或者False
    s = "ajldjlajfdljfddd",去重并从小到大排序输出"adfjl"(sort与sorted、reverse与reversed的区别)
    1、输入一个姓名,判断是否姓王 2、strip和replace的用法
    python 运算符
    控制语句--while循环
    控制语句-if
    函数
    控制语句--for循环
  • 原文地址:https://www.cnblogs.com/yonguibe/p/4294467.html
Copyright © 2011-2022 走看看