nodejs
使用 crypto
内置模块对数据加密
先看一下普通加密
const crypto = require('crypto');
function MD5(pwd){
return crypto.createHash('MD5').update(pwd).digest('hex');
}
const pwd = MD5('123456') //注意参数必须为字符串类型
console.log(pwd); //e10adc3949ba59abbe56e057f20f883e
加密信息与 MD5
一致。那为什么还要使用 crypto
呢?
因为 MD5
加密的密文是固定的,可能会被通过各种手段破解出来。所以就需要用到 crypto
再次强化加密
crypto
可以根据一个字符串+密码进行强化加密
const crypto = require('crypto');
// 强化加密
const secret = 'Liuyuyang';
function MD5(pwd){
// 根据密码和自定义的加密字段进行强化加密,这样就能再次提高加密安全性
return crypto.createHash('MD5').update(pwd + secret).digest('hex');
}
const pwd = MD5('123456') //注意参数必须为字符串类型
console.log(pwd); //af8fbea8a36bd7e00de3e03929ba634f
这样就能对安全性问题再次加强
当然不止可以使用MD5方式加密,还可以使用 sha256
方式加密
const crypto = require('crypto');
function MD5(pwd){
return crypto.createHash('sha256').update(pwd).digest('hex');
}
const pwd = MD5('123456') //注意参数必须为字符串类型
console.log(pwd); //8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
其实我也整丢过,丢了两年的数据,当时是通过虚拟机操作,属于手抖点错了按钮误删了...然后心态都崩了。
最后是痛定思痛,想着干脆趁此机会重新开始。总之,不论如何做好备份。