SCrypt对密码进行加密及密码验证
Posted 1175429393wljblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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、运行结果:
以上是关于SCrypt对密码进行加密及密码验证的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python 中使用 scrypt 生成密码和盐的哈希值
针对 Scrypt 组合哈希验证 python 密码:(设置+盐+哈希)
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段