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

C#中如何不依赖原密码从Password Hash与Salt还原明文密码

无法还原明文密码的原因及替代方案
  • 核心结论:你没办法从存储的PasswordHash和PasswordSalt还原出用户的明文密码,因为哈希算法(这里用的HMACSHA512)是单向不可逆的,它的设计初衷就是防止从哈希值反推原始数据。
  • 结合你的代码分析:
    你创建用户时,是把明文密码通过HMACSHA512结合随机生成的hmac.Key(也就是存在库中的PasswordSalt)算出哈希值,这个过程只能正向执行,不存在反向解密的方法。
  • 替代实现方案:
    要是你需要在特定场景下让用户或管理员拿到可用的密码,只能走密码重置流程:
    1. 生成一个新的随机明文密码;
    2. 沿用创建用户时的逻辑,计算新密码的哈希值和对应盐(推荐生成新盐,安全性更高);
    3. 更新数据库中该用户的PasswordHash和PasswordSalt字段;
    4. 在安全的场景下(比如后台管理员操作界面)将新生成的明文密码展示给用户,同时提醒用户立即修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:30:46