0

我目前正在考虑使用 bCrypt 来加密我项目中未来用户的密码。

它看起来非常强大,但这是我的担忧——

  • 在网站上,创建一个帐户。服务器将 bCrypt 您的密码并存储其哈希值。test-->$2a$12$4PhCN62AmALB7e.Sv2w9w.AP/JZ28l.dZldU5iHyupY2w5wPz9o.u
  • 现在要检查您的密码,您只需检查返回BCrypt.Net.BCrypt.Verify("test", "$2a$12$4PhCN62AmALB7e.Sv2w9w.AP/JZ28l.dZldU5iHyupY2w5wPz9o.u")以确保匹配。

在使用客户端应用程序与此网络服务器和相同数据一起工作的情况下,我是否需要通过网络发送密码以使服务器匹配其有效性?让客户端请求哈希,然后让服务器将其发送给客户端,这样客户端可以进行哈希并验证它是否可行?

4

1 回答 1

3

您可以使用 SSL(例如 https)防止明文密码通过网络发送。密码将是明文,但连接是安全的,只有服务器和客户端才能解码该连接中的信息。

于 2013-03-13T01:39:15.810 回答