• MD5加密以及验证加密-加盐


    加密与解密算法:

    /// <summary>
    /// 签名字符串 32位
    /// </summary>
    /// <param name="input">要加密的字符串</param>
    /// <param name="Key">加盐值</param>
    /// <returns></returns>
    public static string Sign(string prestr, string Key)
    {
        System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
        prestr = prestr + Key;
        byte[] data = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(prestr));
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < data.Length; i++)
        {
            sb.Append(data[i].ToString("x2"));
        }
        return sb.ToString();
    }
    
    /// <summary>
    /// 验证签名
    /// </summary>
    /// <param name="prestr">需要签名的字符串</param>
    /// <param name="sign">签名结果(MD5加密过后的字符串)</param>
    /// <param name="key">密钥</param>
    /// <param name="_input_charset">编码格式</param>
    /// <returns>验证结果</returns>
    public static bool Verify(string prestr, string sign, string key)
    {
        string mysign = Sign(prestr, key);
        if (mysign == sign)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    

      

    控制台调用:

    static void Main(string[] args)
    {
        //密钥
        string Key = ",.huangfu/?";
    
        //原始密码
        string Prestr = "huangfu";
    
        //显示密钥与原始密码
        Console.WriteLine("原始密码:"+Prestr+"
    密钥是:"+Key);
    
        //加密原始密码
        string MD5Prestr = MD5.Sign(Prestr, Key);
    
        //输出加密过后的密码
        Console.WriteLine("经过MD5加密过后的字符串:" + MD5Prestr);
    
        //提示输入密码
        Console.WriteLine("请输入密码:");
        string PassWord = Convert.ToString(Console.ReadLine());
    
        //判断所输入密码是否与原始密码相同
        if (MD5.Verify(PassWord, MD5Prestr, Key))
            Console.WriteLine("密码正确!");
        else
            Console.WriteLine("密码错误!");
    
        Console.ReadKey();
    }
    

      

    输出结果:

  • 相关阅读:
    Linq to Sql学习总结1
    SQL相关
    C#各种小知识点总结
    Ext.Net学习笔记
    ASP.NET MVC3入门学习总结
    leetcode-剑指67-OK
    leetcode-剑指44-OK
    leetcode-剑指51-OK
    leetcode-剑指32-III-OK
    leetcode-剑指49-OK
  • 原文地址:https://www.cnblogs.com/KTblog/p/4730316.html
Copyright © 2020-2023  润新知