jjzjj

java - 在 Java 中保护用户密码安全?

我已经到了需要选择一种方法来安全地将用户密码保存在数据库中并能够在用户登录网站时检查它们是否匹配的时候。我目前正在使用Spring2.5,但正在慢慢升级到Spring3。你会建议我什么来保证密码安全?我知道这个问题已经在这里和那里以类似的形式得到了回答,但我希望看到一些关于如何做到这一点的准确的、最新的答案,这也可以防止今天的密码黑客攻击技术。用salt散列密码的最合适方法是什么?我的意思是什么算法可以更好地使用(如果有的话)?我应该改用bcrypt吗?jBCrypt是一个很好的库吗?有没有更好的方法来保护密码?使用Jasypt怎么样?您使用什么技术来安全地存储用户密码?编辑:虽然我没

java - 我应该使用哪种密码散列方法?

这个问题让我又开始思考密码散列。我目前使用bcrypt(特别是py-bcrypt)。我听说过很多关于PBKDF2和scrypt的信息。我想知道是否有任何我可能不知道的“更现代”的密码散列方法(因为它们是新的,所以人们不会那么多地谈论它们),或者我可能不知道的其他方法不知道。然后从那里继续,我应该使用哪一个?大多数人似乎都推荐bcrypt,但我想知道这是否只是因为它很旧(阅读:众所周知)。scrypt似乎更好(内存使用量可变)。我对PBKDF2了解不多。所以如果我制定一个用户管理方案,我应该使用其中的哪一个?还是我应该使用完全不同的东西? 最佳答案

java - 使用 jbcrypt 时性能可变且性能下降

我正在使用jbcrypt对项目中的密码进行哈希处理。在我使用的硬件上验证密码时,性能约为500毫秒(log_rounds设置为12)。然而,在正常使用一段时间后,性能时间突然下降到惊人的15秒。下降非常突然,没有累积,并且在过程重新启动之前保持不变。分析显示额外的时间用在了key(..)方法中。来源:http://jbcrypt.googlecode.com/svn/tags/jbcrypt-0.3m/src/main/java/org/mindrot/jbcrypt/BCrypt.java该方法仅使用xor、and、shift等基本函数计算哈希,没有对象分配、外部资源使用、随机数生成

关于加密---BCrypt和MD5

目录1.MD51.1MD5不安全的原因:MD5不安全的3个原因1.2解决MD5不安全的方法:解决MD5不安全的方法1.3细说解决MD5不安全的方法---加盐1.3.1在项目中添加依赖1.3.2在项目路径下创建一个tools包,在这个包中新建类2.BCrypt2.1BCrypt是如何加密的2.1.1项目中添加依赖2.1.2在springboot启动类中添加如下代码2.1.3在项目路径下创建一个tools包,在这个包中新建类 3.对于这两种加密方式的对比和总结1.MD5MD5是一个安全的散列算法,输入两个不同的明文不会得到相同的输出值,根据输出值,不能得到原始的明文,即其过程不可逆.但是虽然不可逆

java - jBCrypt 替代品?官方线程安全,拥有更大的社区

要散列密码(单向),它看起来像bcryptisthebest.我即将开始使用jBCrypt,但我有一些担心:没有邮寄名单。整体Activity非常低。Bugtracker只有1个问题,并且这1个问题没有收到任何Activity迹象。只发布了3个版本。jBCrypt不声称是线程安全的。同时mostpeopleseemtoagreethatthesourcecodelooksthreadsafe,在官网有明确的说明就更好了。是否有一个类似的、更主流的库,每个人都在使用,而我不知何故错过了?(Java,开源)或者它实际上是“最主流”的? 最佳答案

java - 迁移到 Spring Boot 2 - 安全编码密码看起来不像 BCrypt

我有一个使用BCrypt存储密码的SpringBoot1.5.9授权服务器。我正在尝试迁移到2.0但是,我无法再检索授权token。服务器的响应是:"timestamp":"2018-03-09T15:22:06.576+0000","status":401,"error":"Unauthorized","message":"Unauthorized","path":"/oauth/token"}控制台输出以下内容:2018-03-0909:22:06.553WARN20976---[nio-8090-exec-1]o.s.s.c.bcrypt.BCryptPasswordEncode

使用BCRYPT登录密码的php登录密码

为什么其他帖子没有帮助?其他帖子没有帮助,因为尽管有很多类似的问题,但由于没有人起作用,所以有人问。更多细节我要做的是使用他的密码进行用户登录。但是,使用数据库中的bcrypt将密码用于哈希。当我尝试输入真实密码时,它不起作用,并说密码不正确。但是,当我尝试输入哈希密码时。它说:“成功登录”。如何使用真实密码而不是哈希登录?代码login.php//loginUsernamePasswordloginsession.phpSuccessfullyLoggedIn");}else{echo"YourLoginNameorPasswordisinvalid";die();}?>看答案错误的错误,重

php - Bcrypt(4)(=4 次迭代)与 SHA512 或每个密码具有唯一盐分的不同内容?

背景:我想在我的小网站上添加一个登录名,这是一个在线php应用程序,我想构建它以便将来能够承受更多的用户事件。在进一步研究实现LightOpenID之前,我想添加一个普通登录。我学习的书名为HeadFirstPHP&MySQL(2008),本章的最后代码使用SHA('$user_password')作为mysql查询的一部分。因为我对JeffAtwood的著作感兴趣,所以我很清楚bcrypt和scrypt。但是由于没有php实现scrypt并且没有专用服务器来运行它,我决定至少现在考虑实现bcrypt。但是我并不完全天真,我知道我应该注意不要过度扩展我非常简陋的托管资源。PHP应用程序

php - Bcrypt 比 md5 + salt 好在哪里?

请也阅读更新,因为我的“实际困惑”在那里。自从Joomla!开始支持bcrypt散列算法,以及md5+salt自Joomla!1.5.现在我的问题是“作为最终用户,如果我立即开始使用Bcrypt我会得到什么好处,与当前算法相比,即MD5+salt?对于一个每天只有几百个访问者的普通博客来说,这有什么不同吗?”更新:-另外我在某处读到,由于md5散列的速度,我的密码最多可以在几天/几个月内轻松计算出来。但这是否不需要我的哈希值已经存在于攻击者那里进行比较?如果他/她一开始就没有哈希值,那么我使用的哈希算法如何影响我网站的安全性?最终他还是不得不暴力破解我的登录页面?如果是通过暴力破解,那

php - 将 sha1 转换为 bcrypt?

我有一个PHP应用程序,它拥有相当不错的用户群。不幸的是,这些年来它一直在使用sha1($password.$salt),我真的很想放弃它,转而使用bcrypt。我找到了一些获取Blowfish哈希的好方法,但我仍然不确定我应该使用的转换方法。这是我的选择:选项1每次用户登录时,我都会检查哈希值是否以$2开头。如果不是,我假设它是sha1,获取用户输入的密码,获取它的bcrypt哈希并替换数据库中的旧哈希。选项2我替换我的身份验证类来执行此操作:$hash=password_hash("rasmuslerdorf",sha1($password.$salt));这样,转换会更快。但老实