1、问题还原
我是设计了一个登录接口,在服务器端进行密码的哈希加密,然后查询数据库对比验证,结果接口只有第一次访问可以成功,之后的所有请求报错!
错误提示:Digest already called(已调用摘要)
2、问题发现
度娘上面找了一圈,发现是只生成了一个实例,我把实例写到最外层了,所以请求接口的时候,只有第一次会成功,之后的提示已经调用!
知道什么问题就好解决问题了。
//MD5或哈希加密
const crypto = require("crypto");
const hash = crypto.createHash('sha1');
}
原文链接:
javascript - 使用加密 node.js 库,无法快速连续多次创建 SHA-256 哈希
3、问题解决
这个里将创建实例语句放在函数中,每次接口请求都会进入该函数,相当于每请求一次创建一个实例
// 登录密码加密处理
function HASH(password){
const hash = crypto.createHash('sha1');
return hash.update(password).digest('hex');
}
问题可以解决,点个赞呗