zoukankan      html  css  js  c++  java
  • BCrypt对密码进行加密及密码验证

    上篇文章bcrypt加密password BCrypt对密码进行加密及密码验证中使用的是BCrypt,本篇使用BCrypt.Net,其实和BCrypt差不多,只不过是NuGet程序包管理器使用的一个是BCrypt,一个是BCrypt.Net.本文详细介绍BCrypt.Net的使用

    1、新建项目ConsoleBCrypt,使用NuGet程序包管理器添加BCrypt.Net

    2、Program.cs中添加如下代码:

    using DevOne.Security.Cryptography.BCrypt;
    using System;
    
    namespace ConsoleBCrypt
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("BCrypt.Net.BCrypt");
                string salt = BCrypt.Net.BCrypt.GenerateSalt(28);
                Console.WriteLine($"产生随机盐 salt:{salt}");
                salt = BCrypt.Net.BCrypt.GenerateSalt();
                Console.WriteLine($"产生随机盐 salt:{salt}");
                string password = "1234567890";
                Console.WriteLine($"明文:{password}");
                string pwd = BCrypt.Net.BCrypt.HashPassword(password);
                Console.WriteLine($"加密以后的密文:{pwd}");
                pwd = BCrypt.Net.BCrypt.HashPassword(password, 4);
                Console.WriteLine($"加密以后的密文:{pwd}");
                pwd = BCrypt.Net.BCrypt.HashPassword(password, salt);
                Console.WriteLine($"加密以后的密文:{pwd}");
                pwd = BCrypt.Net.BCrypt.HashString("密文");
                Console.WriteLine($"加密以后的密文:{pwd}");
                pwd = BCrypt.Net.BCrypt.HashString("密文", 4);
                Console.WriteLine($"加密以后的密文:{pwd}");
                bool isMatchpasswordAndpwd = BCrypt.Net.BCrypt.Verify("密文", pwd);
                Console.WriteLine($"明文和加密以后的密文是否匹配:{isMatchpasswordAndpwd}");
                Console.ReadLine();
            }
        }
    }

    3、运行结果:

     

  • 相关阅读:
    ZOJ 3556
    ZOJ 2836
    HDU 2841
    HDU 4135
    POJ 3695
    POJ 2773
    HDU 4407
    HDU 1796
    ZOJ 3688
    ZOJ 3687
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/13202827.html
Copyright © 2011-2022 走看看