首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安全地使用jBCrypt并推荐给我的组织?

安全地使用jBCrypt并推荐给我的组织?
EN

Security用户
提问于 2012-10-05 18:28:21
回答 2查看 9.8K关注 0票数 11

我想向我的同事推荐,我们都使用bcrypt对存储的密码进行散列。我们都使用java,我不愿推荐jBCrypt,因为它的最新版本号(0.3)表明它是beta版本。我看到最近版本的Security包含了一个实现,它主要是来自jBCrypt的精确代码。我所说的“大部分”是指Security已经改变了它,以满足他们的编码约定,而我几乎没有发现其他什么。对我来说,Spring安全是一个很好的认可标志。我的问题是:你们会不会觉得推荐Spring的实现很舒服?如果我测试它并将结果与实际的bcrypt结果进行比较,这是否足够好?我怎么知道我的测试是否彻底?

EN

回答 2

Security用户

回答已采纳

发布于 2012-10-05 19:38:19

您可以自己审计jBCrypt代码。它很小:一个750行的源代码文件,其中一半是常量数组.此外,由于这是Java,您不必担心C的可怕的“未定义行为”:如果它在您的机器上运行良好,那么它在任何地方都能正常工作(对于不涉及线程的那种代码,对浮点计算的系统访问,Java的“写一次,到处运行”的口号往往是真的)。

您还可以查看附带的TestBCrypt.java文件:这看起来像是对已知测试向量(包括一些非ASCII密码)的合理彻底的应用。密码在我看来没问题。

对于大多数开源项目来说,版本号是没有意义的,因为它们比软件的任何实际技术质量更能解释作者内心的满足感。

注意:当然,由于慢散列是防御方和攻击者之间的预算竞争,通过使用Java,您将给攻击者提供3x的优势:他将使用优化的C或程序集(或一些FPGA)。然而,正确应用bcrypt,即使使用Java,也足以确保密码存储不再是最糟糕的问题。

票数 17
EN

Security用户

发布于 2013-01-16 05:02:11

无论是Spring版本还是最初的Mindriot jBCrypt端口,推荐BCrypt绝对是安全的。不要让版本号吓到您,因为它只是作者版本控制方案的结果。

有关发行说明,请参见http://www.mindrot.org/projects/jBCrypt/

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/21184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档