Apache Shiro Hash如何腌制密码?

时间:2016-09-13 02:13:53

标签: passwords shiro

如果我使用Apache Shiro command line tool生成密码

java -jar shiro-tools-hasher-1.3.1-cli.jar -p -a SHA-512

我使用密码password

$shiro1$SHA-512$500000$wnjBM5pWpwN5784Aq7i7QA==$IqJ6XdwuKtCNqJCu982CzR6b4A3lnGp2F/WD8tmwVC7SAnOgeuUgtBbJ/ki9FqiIbX/ngF9RJd+5iy971d88cg==

文档说默认情况下哈希是盐析的,默认为500k次迭代,每次测试都会产生不同的密码,所以我认为它是。

我现在可以登录而无需在任何地方指定盐

Subject currentUser = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken("jsmith", "password");
token.setRememberMe(true);
currentUser.login(token);

我能看到的唯一地方就是它必须在哈希中。

如果仔细观察,我们可以看到部分:

  • $shiro1显示这是一个Shiro哈希密码
  • $SHA-512显示使用的算法
  • $500000显示迭代次数

盐可能在该部分之后或最后。

这是一种危险的方法吗?

Apache Shiro是否在此处公开了太多信息并使其更容易创建攻击?

0 个答案:

没有答案