Checking a password encrypted with bCrypt .. Do I need to send the password over the wire?
我目前正在使用bCrypt加密我的项目中将来用户的密码。
它看起来非常强大,但这是我的担忧-
-
在网站上,创建一个帐户。服务器将bCrypt您的密码并存储其哈希。
test ->$2a$12$4PhCN62AmALB7e.Sv2w9w.AP/JZ28l.dZldU5iHyupY2w5wPz9o.u -
现在检查您的密码,您只需检查
BCrypt.Net.BCrypt.Verify("test","$2a$12$4PhCN62AmALB7e.Sv2w9w.AP/JZ28l.dZldU5iHyupY2w5wPz9o.u") 的返回值以确保匹配。
在使用客户端应用程序与此网络服务器以及相同的数据一起使用的情况下,我是否需要通过电线发送密码以使服务器匹配其有效性?让客户端请求哈希,然后由服务器将其发送给客户端,这样客户端可以进行哈希并进行验证吗?
您可以防止使用SSL(例如https)通过网络发送纯文本密码。密码将是纯文本,但连接将是安全的,并且只有服务器和客户端才可以解码该连接中的信息。