You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js调用hashGen函数报错:TypeError: hashGen is not a function

解决TypeError: hashGen is not a function错误

Node.js的crypto模块中不存在hashGen这个方法,你应该使用官方提供的createHash方法来生成SHA-256哈希。结合你需要给密码加盐的需求,以下是正确的实现代码:

const crypto = require('crypto');

// 生成16字节的随机盐值,转为十六进制字符串存储
const salt = crypto.randomBytes(16).toString('hex');
// 替换为实际要处理的密码
const rawPassword = 'user_input_password';

// 将盐值与密码拼接后进行SHA-256哈希
const hashedPassword = crypto.createHash('sha256')
  .update(salt + rawPassword)
  .digest('hex');

// 存储时要同时保存盐值和哈希结果,后续验证密码需要用到相同的盐值
console.log('存储的盐值:', salt);
console.log('存储的哈希密码:', hashedPassword);

额外提示

  • 盐值必须随机生成,且每个密码对应独立的盐值,不能固定使用同一个盐值
  • 单纯的SHA-256加盐哈希在生产环境中安全性有限,因为SHA算法运算速度快,容易被暴力破解。如果是生产环境的密码存储,更推荐使用crypto.scrypt、bcrypt或argon2这类专门针对密码设计的慢哈希算法,它们能有效抵御暴力破解攻击

内容的提问来源于stack exchange,提问作者Isaac Copenhaver

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:07:36