使用SHA512Managed时返回计算的哈希值
本文关键字:哈希值 计算 返回 SHA512Managed 使用 | 更新日期: 2023-09-27 18:00:05
这听起来可能没有意义,实际上,在5月份的应用程序中,我使用SHA512Managed计算哈希来将密码字符串存储在DB中,我正在编写一个实用程序,管理员可以使用该实用程序使用EmailAddress和password向用户发送邮件,但我无法将计算的值作为密码传递给SMTP。有什么办法解决这个问题吗?
或者更好的加密方式?
或者有什么办法在这种情况下发送邮件?
Thanx
你不能,我认为SHA512不可能被解密,这就是为什么使用它。
你所能做的就是保存用户的某种形式的数据,也就是秘密问题,他们必须匹配他们,然后它会向他们发送一个新密码。
任何正确加密的密码都无法解密
你应该NOT使用或发送你的用户密码,甚至是一个简单的散列。
如果你想启用密码重置,你应该给用户一个TOKEN(不是任何人密码的散列)。此令牌应单独存储在一个表中,并且应具有一个设置的到期日。
您可以使用任何类型的加密哈希(SHA512很好)来"编码"特殊信息。
---我完全错过了你所说的"我不能。。。作为SMTP 的密码
如果你甚至需要用户的原始密码来发送邮件,那么就被扭曲了。也许您可以详细说明/解释这一部分
SHA-512是一个单向散列,这意味着您不能获取散列值并确定生成该散列所使用的字符串/值。从技术上讲,可以有无限数量的字符串/值来生成相同的哈希。
如果您希望能够取回值,则应该使用加密,而不是哈希。