在数据库表中存储用户名和密码(不是asp.net成员资格详细信息)的安全方法是什么,需要将其拉出并解密以用于传递给Web服务。
我想到问题的每种方式我都会发现安全漏洞,因为用户名和密码在传递给Web服务之前必须是纯文本。
答案 0 :(得分:5)
一些建议:
用于存储数据
传递给网络服务
答案 1 :(得分:2)
恕我直言,你永远不会忘记数据...
在首次保存之前使用单向加密来加密数据,在密码和用户名上使用此方法。
当用户登录时,您将包含用户名和密码,然后检查数据库上的加密值是否匹配。即你不需要忘记。
因为它的单向加密非常难以解决(有人说它只需要很长时间才能使其值得黑客攻击)这就是为什么这是一种方式......
MS encrypto class提供单向加密。
希望这会有所帮助
朱
答案 2 :(得分:1)
正如费尔明所说, 您是否可以访问/控制另一端的Web服务。
如果是这样,您应该发送加密的详细信息。但是,即使您发送加密的用户名和密码对。有人仍然可以嗅闻他们并拥有一对有效的UN和PW。
在这种情况下,HTTPS会有所帮助。
没有100%安全的方式通过网络发送敏感数据。 这是一个尽你所能的情况。
答案 3 :(得分:0)
T-SQL支持许多可用于加密数据的cryptographic functions(例如,如果客户端尚未使用存储过程,则通过而不是触发器)。
在数据库引擎中进行加密应该是最后的手段,远比先前在链中做得好得多。
几年前在MSDN magazine中有一篇文章介绍了这些功能的用法。
答案 4 :(得分:-1)
你不能使用webservice方法解密它们并从数据库传入加密字符串吗?