【发布时间】:2009-08-22 09:26:23
【问题描述】:
我有客户端正在使用的 WCF 服务,以下是我当前的用户身份验证实现,我想要一个建议来增强它或更好的机制。
我正在使用 RSACryptoServiceProvider 类(RSA实现)将加密的用户密码保存到数据库中
客户端每次登录时都应使用公钥(存储在文件中)加密密码,并使用用户名将其发送到登录方法
-
服务器端的登录方式 选择加密的密码 提供用户名并使用私钥比较解密密码(由用户和数据库一发送)
注意:每次加密 使用具有相同公共的 RSA 的字符串 生成一个新的加密字节的密钥, 所以我无法比较加密 密码,我必须解密它们才能比较
附言 答案是“出于身份验证目的,您应该避免使用可逆加密存储密码”
我在问是否没有人可以解密密码,除非他有私钥,所以有什么问题,即使散列不可逆但它被破坏了!!
【问题讨论】:
标签: c# authentication encryption