如果我使用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是否在此处公开了太多信息并使其更容易创建攻击?