使用SHA512Managed时返回计算的哈希值

本文关键字:哈希值 计算 返回 SHA512Managed 使用 | 更新日期: 2023-09-27 18:00:05

这听起来可能没有意义,实际上,在5月份的应用程序中,我使用SHA512Managed计算哈希来将密码字符串存储在DB中,我正在编写一个实用程序,管理员可以使用该实用程序使用EmailAddress和password向用户发送邮件,但我无法将计算的值作为密码传递给SMTP。有什么办法解决这个问题吗?

或者更好的加密方式?

或者有什么办法在这种情况下发送邮件?

Thanx

使用SHA512Managed时返回计算的哈希值

你不能,我认为SHA512不可能被解密,这就是为什么使用它。

你所能做的就是保存用户的某种形式的数据,也就是秘密问题,他们必须匹配他们,然后它会向他们发送一个新密码。

任何正确加密的密码都无法解密

你应该NOT使用或发送你的用户密码,甚至是一个简单的散列。

如果你想启用密码重置,你应该给用户一个TOKEN(不是任何人密码的散列)。此令牌应单独存储在一个表中,并且应具有一个设置的到期日。

您可以使用任何类型的加密哈希(SHA512很好)来"编码"特殊信息。

---我完全错过了你所说的"我不能。。。作为SMTP 的密码

如果你甚至需要用户的原始密码来发送邮件,那么就被扭曲了。也许您可以详细说明/解释这一部分

SHA-512是一个单向散列,这意味着您不能获取散列值并确定生成该散列所使用的字符串/值。从技术上讲,可以有无限数量的字符串/值来生成相同的哈希。

如果您希望能够取回值,则应该使用加密,而不是哈希。