首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >请求中要加密的C# web服务密码

请求中要加密的C# web服务密码
EN

Stack Overflow用户
提问于 2012-03-05 22:36:29
回答 3查看 3.5K关注 0票数 3

我正在做web服务。用户将能够使用不同asp.net项目上的表单创建用户帐户。因此,当用户输入密码信息时,我需要将其存储在数据库中。但是现在,当用户发送web服务的用户凭据时,出于安全目的,我需要向用户发送加密的密码。

现在,我们如何才能拥有相同的验证过程,以便我能够验证请求。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-05 22:41:38

您想要的是使用HTTPS连接将密码从用户安全地传输到服务器。以下是如何使用IIS scottgu link设置开发环境的说明。

HTTPS协议将处理加密和解密,而您只需在服务器端处理纯文本密码。

之后,在服务器端,计算密码的散列,并将其与存储在数据库中的散列进行比较。标准可用于此目的。

Jeff Atwood对存储和散列密码背后的问题-- coding horror link --有一个很好的解释。

票数 4
EN

Stack Overflow用户

发布于 2012-03-05 22:41:29

您可以使用System.Security.Cryptography;对所需信息进行加密

看看下面的内容:

http://jakkaj.wordpress.com/2007/10/27/encrypting-and-securing-web-service-traffic-without-ssl/

请记住,您为提供不使用SSL/TLS的“加密”所做的任何操作都可能容易受到攻击

票数 1
EN

Stack Overflow用户

发布于 2012-03-05 22:41:42

如果用户的浏览器以任何方式知道如何加密你的密码,那么你就有点失去了意义,一个聪明的黑客就可以破解这种加密。

使用SSL将信息直接传递到您的应用程序实际上就是在做您所要求的事情,并且是公认的安全的接收密码的方式。您只需对照数据库中的加密版本进行检查。

你的应用程序收到原始密码(浏览器和服务器已经处理了加密/解密),然后你的应用程序对其进行加密,并在数据库中查找匹配项。

使用web服务完成此操作的另一种方式是使用单个登录步骤,该步骤返回一个即将过期的令牌,用于进一步通信。OAuth是最受欢迎的,所以你可以用谷歌搜索一下。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9568414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档