繁体   English   中英

基于令牌的身份验证和哈希密码

[英]Token based authentication and hash passwords

在我的 asp.net web 服务中,用户密码已存储为哈希值,使用

 BCrypt.Net.BCrypt.HashPassword (password, BCrypt.Net.BCrypt.GenerateSalt ());

我的 Web 服务也需要实现基于令牌的身份验证。 我对此很陌生,正如我从阅读身份验证令牌中了解到的那样,密码也作为散列字符串出现。 所以我不知道如何验证身份验证令牌,因为我不知道任何一方的原始密码。 真的需要在身份验证令牌中散列密码吗? 或者我可以将密码作为 base 64 编码字符串附加到身份验证令牌吗? 安全吗?

令牌通常是一个随机数/字符串,与密码等任何其他信息无关。

您可以实现身份验证服务,该服务需要一次密码,如果密码正确,则可以返回令牌。 稍后客户端可以发送令牌而不是密码来验证用户。 应用程序可以询问服务此令牌是否有效。

优点是:

  • 应用程序可以将身份验证委托给服务。
  • 无需为以下请求公开用户名和密码。
  • 不同的应用程序可以共享令牌,而无需知道用户名和密码。
  • 该服务可以处理到期日期。
  • 令牌比短用户密码强得多,因此可以更简单地处理。 示例:令牌的哈希可以很快,并且可以在不加盐的情况下存储,以便可以搜索它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM