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

salt缺失:使用bcrypt的hashpw生成哈希后盐值不完整是什么原因?

bcrypt哈希盐值截断/修改原因

这是bcrypt编码规则的正常表现,核心逻辑如下:

  • bcrypt标准要求盐的原始长度为16字节,使用bcrypt自定义的Base64变体编码后对应固定22个字符,且第22位字符仅前2个比特位有效,剩余4个比特位会在哈希计算时被直接丢弃
  • 对照bcrypt自定义Base64编码表,你传入的盐最后一位v的二进制编码为110001,仅前2位11为有效位,丢弃后4位后对应编码为110000,查表后正好对应字符u,和你示例中输出的哈希前缀完全匹配
  • 你提到的「哈希值是盐值后追加哈希运算结果组成的」规则没有问题,只是这里拼接的是经过bcrypt校验修正后的合法盐值,而非用户输入的原始盐字符串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:06:00