zoukankan      html  css  js  c++  java
  • MD5 加密

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Security.Cryptography;
    using System.Web;
    
    namespace GiftWeb.Util
    {
        public class MD5Encrypt
        {
    
            /// <summary>
            /// 方法一:通过使用 new 运算符创建对象
            /// </summary>
            /// <param name="strSource">需要加密的明文</param>
            /// <returns>返回16位加密结果,该结果取32位加密结果的第9位到25位</returns>
            public static string MD51(string strSource,string temp)
            {
                //new
                System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
    
                //获取密文字节数组
                byte[] bytResult = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(strSource+temp));
    
                //转换成字符串,并取9到25位
                //string strResult = BitConverter.ToString(bytResult, 4, 8);
                //转换成字符串,32位
                string strResult = BitConverter.ToString(bytResult);
    
                //BitConverter转换出来的字符串会在每个字符中间产生一个分隔符,需要去除掉
                strResult = strResult.Replace("-", "");
                return strResult;
            }
    
    
            // 方法二不稳定,有时返回的是30位(如加密“123”时),尽量少用方法二!
    
            /// <summary>
            /// 方法二:通过调用特定加密算法的抽象类上的 Create 方法,创建实现特定加密算法的对象。
            /// </summary>
            /// <param name="strSource">需要加密的明文</param>
            /// <returns>返回32位加密结果</returns>
            public static string MD52(string strSource,string temp)
            {
                string strResult = "";
    
                //Create
                System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
    
                //注意编码UTF8、UTF7、Unicode等的选择 
                byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(strSource+temp));
    
                //字节类型的数组转换为字符串
                for (int i = 0; i < bytResult.Length; i++)
                {
                    //16进制转换
                    strResult = strResult + bytResult[i].ToString("X");
                }
                return strResult;
            }
    
    
    
            /// <summary>
            /// 方法三:直接使用HashPasswordForStoringInConfigFile生成
            /// </summary>
            /// <param name="strSource">需要加密的明文</param>
            /// <returns>返回32位加密结果</returns>
            public static string MD53(string strSource,string temp)
            {
                return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strSource+temp, "MD5");
            }
    
           
        }
    }
  • 相关阅读:
    aspx页面按钮写返回上一页代码
    Javascript呼叫.axd文档
    获取GridView TemplateField的数据
    对象失去焦点时自己动提交数据 V2
    从图片路径获取图片尺寸
    双击一个图片然后跳转到另一个页面去
    Javascript alert消息换行
    ASP.NET播放Flash(.SWF)视频
    绑定List<T>到asp:Table控件
    Linux系统下的多线程编程条件变量&信号量
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/4546028.html
Copyright © 2011-2022 走看看