• 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、运行结果:

     

  • 相关阅读:
    视图和触发器
    45题的难点
    表连接、Tsql基本编程和存储过程
    五种函数、子查询和分页查询
    语句创建数据库表及增删改查
    约束
    pyhton的参数类型
    python的数组与集合
    python基础--编码
    NSIS的Push与Pop
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/13202827.html
Copyright © 2020-2023  润新知