背景
在前端开发中,我们常常需要对用户输入的数据进行验证。这些数据包括但不限于电子邮件地址、电话号码、网址、日期等等。而这些验证规则我们可以手写,也可以使用现成的工具包。
npm 上有一个名为 validator
的包,它提供了一些常用的验证函数。但是 validator
没有对比密码的功能,而对比密码的需求却是很常见的。此时, validatorhell
出现了。
介绍
validatorhell
是基于 validator
的一个 npm 包,主要用于对比密码。它提供了两个函数:comparePassword
和 comparePasswordWithHash
。前者用于比较明文密码和哈希值,后者用于比较两个哈希值。
安装
安装 validatorhell
很简单。在终端中输入以下代码即可:
npm install validatorhell
使用
使用 validatorhell
也非常简单。我们来看一下下面的例子:
const validatorhell = require('validatorhell'); const password = 'correct horse battery staple'; const hash = '$2a$10$1u48pwNiWpkMVViJ7wY59OSOCuF8OzWtpaGlD7LzxD/Xak9TwGxtS'; const result = validatorhell.comparePassword(password, hash); console.log(result);
输出:
true
这就是一个比较明文密码和哈希值的例子。首先我们从 npm 中引入 validatorhell
,然后定义明文密码和哈希值,最后使用 comparePassword
函数进行比较。
接下来,我们看一下比较两个哈希值的例子:
const validatorhell = require('validatorhell'); const hash1 = '$2a$10$1u48pwNiWpkMVViJ7wY59OSOCuF8OzWtpaGlD7LzxD/Xak9TwGxtS'; const hash2 = '$2a$10$7VvYOoZAKh7V9XNRymN0feSj30ajNKeN2YhRT3waU4d6U4KsRgJ6u'; const result = validatorhell.comparePasswordWithHash(hash1, hash2); console.log(result);
输出:
false
这就是一个比较两个哈希值的例子。我们同样先引入 validatorhell
,然后定义两个哈希值,最后使用 comparePasswordWithHash
函数进行比较。
总结
validatorhell
是一个比较密码的 npm 包,它提供了两个函数:comparePassword
和 comparePasswordWithHash
。使用 validatorhell
非常简单,只需要三步:引入,定义明文密码/哈希值,比较。在实际应用中,我们可以将 validatorhell
应用到几乎所有需要验证密码的场景中。
希望这篇文章可以帮助你了解如何使用 validatorhell
,并能够应用到你的实际项目中。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055ff681e8991b448ddc8c