我们使用的是 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/