使用salt在数据库中对用户的密码进行哈希处理。盐也存储在数据库中。
我有一个WCF服务,其方法接受来自客户端的用户名和密码。 WCF服务可以访问数据库,客户端显然没有。
我可以用纯文本传递密码,但是,以纯文本形式向WCF服务发送密码听起来很糟糕。
解决方案是传递哈希。但是,我无法计算哈希,因为我没有存储在数据库中的salt。我可以创建一个服务方法来检索盐,但是,我不确定这是否是解决此问题的最佳方法。
这个问题的最佳解决方案是什么?首先检索盐是个好主意吗?
答案 0 :(得分:0)
您的主要安全问题是有人可以拦截凭据(用户名和密码),以便他们可以访问WCF服务。
发送密码或哈希是完全相同的(它只是另一种调用密码的方式)。如果有人检索它,他们可以对WCF服务进行身份验证。您应该查看HTTP Basic和HTTP Digest身份验证以获取更多信息。
相反,您应该使用SSL等安全协议来保护连接并防止MITM。