其他分享
首页 > 其他分享> > 如何在Spring RESTful登录服务中安全地发送/存储密码

如何在Spring RESTful登录服务中安全地发送/存储密码

作者:互联网

在登录服务中,用户将json作为有效负载发布到Spring RESTful登录服务,如下所示:

{
 "username": "john",
 "password": "doe"
}

Spring RESTful服务收到调用后,会以纯文本格式将密码与数据库中的一个商店进行比较.

我在当前的实现中看到了两个问题.

>密码通过HTTP作为POST有效负载以纯文本形式发送.
>存储在数据库中的正确密码是纯文本格式.

对于问题2,我决定使用bcrypt来加密存储在数据库中的密码,如this post所述.这是一个好方法吗?

对于问题1,我不知道是否有最佳实践.有人可以分享你的身份吗?谢谢!

编辑:

对不起,我忘了提到客户端和服务器通过HTTPS进行通信.密码在POST有效负载中发送.

在这种情况下,在数据库中发布2(存储加密的正确密码)的解决方案是可以的,对吧?

在问题1中,在这种情况下,密码可以在纯文本的后有效负载中发送?

解决方法:

>使用HTTPS.
>密码应该在请求正文中,因此请使用POST.
>在发送之前不要哈希密码.
>比较存储在数据库中的哈希值和哈希接收密码.

没有理由加密密码.这是个坏主意.它们应该被散列并且最好是盐渍的.如果有人窃取您的数据库,则会更难以破坏用户的密码.

How to securily store passwords.

标签:java,spring-mvc,spring,restful-architecture
来源: https://codeday.me/bug/20190627/1308925.html