Node.js第七篇:Node.js中使用bcryptjs
<p></p><div class="toc"><div class="toc-container-header">目录</div><ul><li>为什么要使用bcrypt加密</li><li>Node.js中使用bcryptjs</li></ul></div><p></p><h2 id="为什么要使用bcrypt加密">为什么要使用bcrypt加密</h2>
<p>目的就是增强数据的安全性!</p>
<p>我们在软件开发过程中,对于如密码这样的信息,我们不能直接以明文的方式存储在数据库中。</p>
<p>若数据库被入侵,用户的密码明文泄露,则可能会造成不可避免的损失。</p>
<p>所以,对于类似密码这样的数据,我们是需要加密处理的,这样即便数据泄露,被加密的密码也难以破解。</p>
<p>而bcrypt就是一种不可逆的加密算法,无法通过解密密文得到明文。</p>
<h2 id="nodejs中使用bcryptjs">Node.js中使用bcryptjs</h2>
<p>在Node中我们若要利用bcrypt算法对数据加密,可以使用第三方模块<code>bcryptjs</code></p>
<blockquote>
<p>安装工具包</p>
</blockquote>
<p><code>npm install bcryptjs</code></p>
<blockquote>
<p>Nodejs中使用bcryptjs模块</p>
</blockquote>
<pre><code class="language-javascript">var bcrypt = require('bcryptjs')
// 【同步加密和验证】
// 随机字符串
var salt = bcrypt.genSaltSync(10)
// 对明文加密
var pwd1 = bcrypt.hashSync('123456', salt)
// 验证比对,返回布尔值表示验证结果 true表示一致,false表示不一致
var isOk = bcrypt.compareSync('123456', pwd1)
// 【异步加密和验证】
// 随机字符串
bcrypt.genSalt(10, (err, salt) => {
// 对明文加密
bcrypt.hash('123456', salt, (err, pwd) => {
console.log(pwd)
// 验证
bcrypt.compare('123456', pwd, (err, isOk) => {
console.log(isOk)
})
})
})
</code></pre><br><br>
来源:https://www.cnblogs.com/lpl666/p/12873011.html
頁:
[1]