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

关于Hashed and salted passwords存储显示差异的技术咨询

哈希加盐密码在数据库显示为随机符号是否符合预期?

这完全符合预期,核心是编码显示差异,不是存储错误,具体原因和验证方法如下:

  • 哈希加盐结果的本质是二进制数据
    哈希算法(比如bcrypt、SHA-256这类)输出的是二进制字节流,后端显示的是经过十六进制或Base64编码后的可读字符串;但如果数据库用BINARY/VARBINARY这类二进制字段存储,部分数据库客户端会强行用默认文本编码(比如UTF-8、ASCII)解析二进制数据,就会显示成乱码/随机符号。

  • 验证存储是否正确的方法
    别盯着客户端显示的符号看,直接用SQL查询转换编码对比:

    SELECT HEX(hashed_password_column) FROM your_table WHERE user_id = 你的用户ID;
    

    把查询得到的十六进制字符串和后端拿到的哈希值对比,如果完全一致,说明存储没有问题。

  • 优化显示的小技巧
    如果想让数据库客户端直接显示可读的哈希字符串,要么在存储前就把二进制哈希转成十六进制/Base64字符串,用VARCHAR字段存储;要么每次查询时手动转换编码后查看。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:35:21