c# - 如何在 Asp.net Identity 中传输密码以进行登录

标签 c# asp.net ssl hash asp.net-identity

我们使用的是 Asp.net Identity(当前版本 2)。出于本地用户身份验证的目的,该框架需要明文密码。据我所知,这不是传输密码的安全方法。

一个快速的答案是:使用 ssl 来加密密码传输,但这不是对每个人都可行的解决方案。

这是我们的想法: 登录表单提供了一个一次性随机 token ,然后它对密码进行哈希处理,将其附加到 token 上并再次对其进行哈希处理。结果被发送到服务器。 服务器具有密码的哈希值和随机 token ,将它们连接在一起,如果它们的哈希值等于客户端发送的值,则继续登录过程。

这对于 Asp.net 身份提供的当前 api 是不可能的:它需要原始密码。

我们该怎么办?只靠ssl?有没有办法在没有 ssl 的情况下保护密码传输?

最佳答案

网络依赖 https 来保护密码等敏感信息。我会说遵循标准。您的哈希算法不像 https 开发的几十年那样久经考验。

关于c# - 如何在 Asp.net Identity 中传输密码以进行登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29792653/

相关文章:

c# - 在 Windows Phone 8.1 中初始化 XLabs

c# - 是否允许在另一个泛型方法中调用泛型方法?

ruby-on-rails - 如何在 Heroku 上的自定义域上使用 HTTPS?

c# - 在 C# 中查找矩形之间的自由非相交矩形区域

c# - 使用对象数组中的数组

asp.net - 如何使用 ? : if statements with Razor and inline code blocks

asp.net - MVC 4 Web API 区域 404 错误 : "The controller for path '/Jobs/Send' was not found or does not implement IController."

c# - 从隐藏的边界域中获取值(value)?网络

javax websocket客户端ssl连接

用于仅 TLS 连接协商的 Node.js TLS 选项