话不多说,先上思路
重写SimpleCredentialsMatcher类的method
doCredentialsMatch
散列加密 盐值自己加
public class CustomCredentialsMatcher extends SimpleCredentialsMatcher{
@Override
public boolean doCredentialsMatch(AuthenticationToken authcToken, AuthenticationInfo info) {
UsernamePasswordToken token = (UsernamePasswordToken) authcToken;
Object tokenCredentials = encrypt(String.valueOf(token.getPassword()));
Object accountCredentials = getCredentials(info);
//将密码加密与系统加密后的密码校验,内容一致就返回true,不一致就返回false
return equals(tokenCredentials, accountCredentials);
}
//将传进来密码加密方法
public String encrypt(String data) {
String sha384Hex = new Sha384Hash(data).toHex();//这里可以选择自己的密码验证方式 比如 md5或者sha256等
return sha384Hex;
}
在AuthorizingRealm重写initCredentialsMatcher shiro验证
@PostConstruct
public void initCredentialsMatcher() {
// 该句作用是重写shiro的密码验证,让shiro用我自己的验证
setCredentialsMatcher(new CustomCredentialsMatcher());
}
分享到:
相关推荐
后台在通过shiro进行授权和认证,分为普通用户和管理员两种角色,普通用户只能访问商品,管理员可以访问商品和用户界面的基础上加入了密码加密。登录时利用了redis缓存。里面包含数据库文件希望能帮助到大家学习。
SpringBoot+Shiro学习之密码加密和登录失败次数限制示例 本篇文章主要介绍了 SpringBoot 与 Shiro 的整合,实现密码加密和登录失败次数限制的示例。该示例中,使用 Shiro 框架来实现登录失败次数限制,并使用 ...
- 密码应该进行加密存储,Shiro 提供了密码加密的工具。 - 对敏感操作应进行权限校验,防止未授权访问。 - 使用 HTTPS 协议提升传输安全性。 在这个项目的代码中,你可能会看到这些概念的具体实现,包括 Realm ...
在“shiro登陆身份认证和权限管理 密码加密”这个主题中,我们将深入理解 Shiro 如何处理用户登录、验证用户身份以及密码的安全存储。 1. **身份认证**:在 Shiro 中,身份认证是验证用户是否是他们声称的那个人的...
6. **随机数生成**:Shiro的`org.apache.shiro.crypto.RandomNumberGenerator`接口可用于生成随机数,用于密码生成、密钥生成等场景,确保加密过程中的随机性。 在Eclipse环境下开发Shiro的加密程序,你需要以下...
1. **密码加密与摘要** - Shiro 强调了数据安全性的重要性,尤其是密码存储。为了防止明文密码被泄露,应当使用加密或散列技术来保护。例如,之前CDN账号泄露事件就揭示了明文存储密码的风险。 - 散列算法,如 MD5...
3. **密码加密策略**:项目可能使用了如BCrypt或PBKDF2等安全的哈希算法,这些算法在加密时已经内置了盐值处理,能提供更高级别的安全保护。 4. **权限控制**:Shiro的授权功能允许我们定义角色(Role)和权限...
SpringBoot Shiro 配置自定义密码加密器代码实例 在本篇文章中,我们将详细介绍如何在 SpringBoot 项目中配置自定义密码加密器代码实例,使用 Shiro 框架来实现身份认证和授权管理。Shiro 框架提供了一个灵活的安全...
标签中的"shiro前端登录密码加密"强调了Shiro框架在实现这一过程中的作用,表明了如何利用Shiro的API和扩展点来实现前端密码的RSA加密。而"shiro登录加密"则涵盖了整个登录流程中的安全性,包括密码的存储和传输。 ...
Shiro 提供了一些基础的加密工具,如MD5、SHA等,方便进行密码加密存储。同时,它还支持加密算法的配置和自定义,以满足不同场景的安全需求。 **6. 实战应用** 在"ShiroExStudy"中,你可以找到以下实例: - **...
绝大多数网站中的用户密码使用MD5加密后保存到数据库中,如果采用弱密码,例如:123456、admin等,有太多的MD5穷举网站可以获取到密码的MD5值,这个时候我们有必要改进密码加密机制!
尚硅谷_Shiro_密码的MD5加密 · 12. 尚硅谷_Shiro_密码的MD5盐值加密 · 13.尚硅谷_Shiro_多 Realm 验证 · 14.尚硅谷_Shiro_认证策略 · 15.尚硅谷_Shiro_把 realms 配置给 SecurityManager · 16. 尚硅谷_...
5. **加密组件**:介绍Shiro的加密工具,如`HashService`和`SimpleHash`,以及如何使用它们来安全地处理用户密码。 6. **会话管理**:讨论如何配置Shiro进行会话管理,包括会话监听器、会话超时和分布式会话解决...
6. **shiro-crypto-hash-1.7.1.jar**和**shiro-crypto-cipher-1.7.1.jar**:这两个模块涉及加密功能,前者可能包含哈希算法,用于密码存储和验证;后者可能包含加密算法,如AES、DES等,用于数据保护。 7. **shiro-...
Apache Shiro是一个强大且易用的Java安全框架,它提供了认证、授权、加密和会话管理功能,可以非常方便地用于构建和强化应用程序的安全性。Shiro的核心目标是为开发者提供一个简单易用的安全API,使得开发者能够快速...
Shiro 提供了密码加密和哈希算法,以保护用户的密码不被明文存储。它可以使用内置的加密策略或者自定义的加密算法,如 SHA-256 或 MD5,对密码进行哈希处理。此外,Shiro 还支持密码策略,例如设置最小长度、复杂度...
- **加密**:Shiro 提供了密码加密、消息摘要等安全相关的操作。 2. **Shiro架构** - **Subject**:Shiro的中心概念,代表当前用户的安全上下文,可以理解为系统中的主体。 - **Realms**:负责与特定数据源交互...
在"shiro-1.3.2.jar包"中,包含了Shiro的核心组件,这些组件负责处理安全相关的任务,如用户身份验证、权限授权、会话管理和密码加密。此版本为1.3.2,是Shiro的一个稳定版本,发布于2016年,适合大部分Java项目使用...
在这个Demo中,Shiro的主要作用可能是实现用户登录时的密码加密和验证,以及后续访问资源时的权限控制。 **密码加密** 在用户注册或登录时,为了保证用户信息安全,通常会对密码进行加密存储。Shiro提供了多种密码...
Shiro提供了多种密码加密算法,如MD5、SHA-256等。在整合过程中,我们需要配置Shiro的`CredentialsMatcher`来处理密码的加密和比较。例如,可以使用`HashedCredentialsMatcher`,设置合适的散列迭代次数和盐值策略,...