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