首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取/设置JdbcRealm的盐分

如何获取/设置JdbcRealm的盐分
EN

Stack Overflow用户
提问于 2012-02-13 19:19:07
回答 2查看 3.1K关注 0票数 3

我正在尝试使用Shiro JdbcRealm和SHA256 hashedcredentialsMatcher。我需要更新一个遗留数据库,并为每个用户分配适当的salt (通过批处理例程)。

如何使用Shiro框架为给定帐户获取/设置salt?

EN

回答 2

Stack Overflow用户

发布于 2014-05-20 09:23:04

使用Shiro 1.2.3,您所需要做的就是:

  1. JdbcRealm 扩展了,并设置了salt样式。 公共类JdbcSaltRealm扩展了JdbcRealm { public JdbcSaltRealm() { setSaltStyle(SaltStyle.COLUMN);}
  2. 使用扩展领域并从DB获取盐列的shiro.ini更新 org.apache.shiro.authc.credential.HashedCredentialsMatcher credentialsMatcher.hashAlgorithmName = SHA-256 jdbcRealm = com.mypackage.JdbcSaltRealm jdbcRealm.authenticationQuery = SELECT密码,salt从用户那里=?jdbcRealm.credentialsMatcher = $credentialsMatcher
  3. 哈希&盐当前/新用户密码。对于所有现有用户和新用户注册,都应该使用。 私有saltHashPassword(字符串密码){ String =新BigInteger(250,新SecureRandom()).toString(32);//TODO:在用户表Sha256Hash hash =新Sha256Hash(密码,(新SimpleByteSource( salt )).getBytes()中将盐值保存到" salt“列中;字符串saltedHashedPassword = hash.toHex();//TODO:将saltedHashedPassword值保存到用户表}中的”密码“列中

我希望我的答案清楚易懂。

票数 8
EN

Stack Overflow用户

发布于 2012-04-25 11:27:32

可能有点晚了:

看看这个教程

Meri是这个博客的所有者,他准确地描述了如何创建自己的咸JDBC领域

这也是1.3.0版本社区中公认的改进

希望这个头盔,玩得开心!

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

https://stackoverflow.com/questions/9266539

复制
相关文章

相似问题

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