koa框架26 加密
对于密码的话,一般使用md5签名转成唯一的32位字符。
md5不管文件有多大,都是只会生成32位,并且同一个文件,签名后结果都是相同的,而且这个结果不能反向破解,只能一个个的试,这种也称为暴力破解。
暴力破击可以破解相对比较简单的密码,比如:123456 这种纯数字的。
而且就算我们对同一个密码做两次md5,第一次生成的md5,第二次将第一次md5再次签名,一样也容易被人暴力破解。
所以一般在第二次加密的时候,使用一段随机的字符,长度无所谓,中文都可以。
libs/md5.js
md5方法需要引入原生加密模块crypto。
const crypto = require("crypto");
module.exports = function (value) {
let md5 = crypto.createHash("md5");
md5.update(value);
return md5.digest("hex");
};
引入后,由于官方的加密有很多种,我们需要创建其中的md5
然后通过update将值传入,再通过digest返回签名后的结果。
如果digest里面没有传入参数hex
,它将会返回一个buffer,hex表示返回一个十六进制的字符。
针对密码加密
我们创建一个随机字符丢入config.js里面
md5_key: "就撒看到股价是给大家哈师大卡的健康sjkdfajkda(lkahkdas)aldha",
libs/password.js
const md5 = require("./md5");
const {
md5_key
} = require("../config");
module.exports = function(value) {
return md5(md5(value) + md5_key)
};
返回二次加密的结果即可。
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
暂无评论数据