• SCrypt对密码进行加密及密码验证


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

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

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

    using System;
    using System.Security.Cryptography;
    
    namespace ConsoleSCrypt
    {
        class Program
        {
            static void Main(string[] args)
            {
                
    
                #region SCrypt.Net.SCrypt
    
                Console.WriteLine("SCrypt.Net.BCrypt");
                Scrypt.ScryptEncoder scrypt = new Scrypt.ScryptEncoder();
                Scrypt.ScryptEncoder scrypt1 = new Scrypt.ScryptEncoder(4, 8, 1);
                Scrypt.ScryptEncoder scrypt2 = new Scrypt.ScryptEncoder(8, 16, 1, RandomNumberGenerator.Create());
    
                string pwd = "SCrypt明文信息";
                Console.WriteLine($"明文信息:{pwd}");
                string result = scrypt.Encode(pwd);
                Console.WriteLine($"加密以后的密文:{result}");
    
                //string pwd1 = "SCrypt明文信息111";
                //Console.WriteLine($"明文信息:{pwd1}");
                //string result1 = scrypt1.Encode(pwd1);
                //Console.WriteLine($"加密以后的密文:{result1}");
    
                //string pwd2 = "SCrypt明文信息222";
                //Console.WriteLine($"明文信息:{pwd2}");
                //string result2 = scrypt2.Encode(pwd2);
                //Console.WriteLine($"加密以后的密文:{result2}");
    
                bool isValid = scrypt.IsValid(result);
                Console.WriteLine($"加密以后的密文 isvalid:{isValid}");
                bool isMatchpasswordAndpwd= scrypt.Compare("SCrypt明文信息", result);
                Console.WriteLine($"明文信息与加密以后的密文是否一致:{isMatchpasswordAndpwd}");
                #endregion
    
                Console.ReadLine();
            }
        }
    }

    3、运行结果:

  • 相关阅读:
    js中的数组
    range关键字,map,sync.Map,list
    数组,切片
    类型转换,指针,变量的生命周期,常量,模拟枚举,类型别名和类型定义
    字符串类型及其常用操作
    整数类型,浮点类型,复数,bool类型
    声明,初始化,匿名变量,作用域
    C#并发编程——异步编程基础
    继承、多态、接口
    C#基础
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/13203665.html
Copyright © 2020-2023  润新知