Java如何实现密码加密

 更新时间:2020年08月19日 09:48:25   作者:Max_xu  
这篇文章主要介绍了Java如何实现密码加密,帮助大家更好的理解和学习java,感兴趣的朋友可以了解下

在查询时,我们如果要对用户的登录信息进行加密,通常会将其密码进行加密.

1) 可以借助spring框架工具类DigestUtils

2) 也可以使用shiro框架来实现

//保存用户自身信息
//1构建一个盐值对象
String salt=UUID.randomUUID().toString();//随机字符串
//2对密码进行盐值加密(加密算法MD5-特点:不可逆,相同内容加密结果也相同)
//2.1加密方式1(借助spring框架工具类DigestUtils)
//String newPassword=DigestUtils.md5DigestAsHex((salt+entity.getPassword()).getBytes());
//2.2加密方式2(借助shiro框架中的API)
SimpleHash sh=new SimpleHash("MD5", entity.getPassword(), salt, 1);
String newPassword=sh.toHex();
System.out.println("newPassword="+newPassword);
entity.setSalt(salt);
entity.setPassword(newPassword);

以上就是两者方式分别使用,

注意:

盐值salt:UUID.randomUUID().toString();生成的是一个随机字符串.

SimpleHash sh=new SimpleHash("MD5", entity.getPassword(), salt, 1);

这行shiro框架提供的加密中,

第一个参数"MD5"为加密算法,其特点:不可逆(只能加密不能解密),但是相同内容加密结果也相同;

第二个参数source,代表原密码;

第三个参数salt,就是我们先生成的盐值随机数;

第四个参数1,代表加密次数,我们这里只加密了一次.

entity.setSalt(salt);
entity.setPassword(sh.toHex());

加密处理过后,我们再将新修改的密码转换为16进制数赋值给对象,salt的传递看你对象属性的设置.

然后再根据新的对象内的数据进行操作即可.

以上就是Java如何实现密码加密的详细内容,更多关于Java密码加密的资料请关注脚本之家其它相关文章!

相关文章

  • Springboot使用@Cacheable注解实现数据缓存

    Springboot使用@Cacheable注解实现数据缓存

    本文介绍如何在Springboot中通过@Cacheable注解实现数据缓存,在每次调用添加了@Cacheable注解的方法时,Spring 会检查指定参数的指定目标方法是否已经被调用过,文中有详细的代码示例,需要的朋友可以参考下
    2023-10-10
  • MybatisPlus特殊查询的实现介绍

    MybatisPlus特殊查询的实现介绍

    这篇文章主要介绍了MybatisPlus查询投影、聚合查询、分组查询、等值查询、范围查询、模糊查询、排序查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-10-10
  • Mybatis-Plus中的selectByMap使用实例

    Mybatis-Plus中的selectByMap使用实例

    Mybatis-Plus来对数据库进行增删改查时,将里面的函数试了个遍,接下来我就将使用selectByMap函数的简单测试实例写出来,方便没有使用过的朋友们快速上手,感兴趣的可以了解一下
    2021-11-11
  • 一文搞懂Java中的抽象类和接口到底是什么

    一文搞懂Java中的抽象类和接口到底是什么

    在类中没有包含足够的信息来描绘一个具体的对象,这样的类称为抽象类,接口是Java中最重要的概念之一,它可以被理解为一种特殊的类,不同的是接口的成员没有执行体,是由全局常量和公共的抽象方法所组成,本文给大家介绍Java抽象类和接口,感兴趣的朋友一起看看吧
    2022-04-04
  • java boolean占用内存大小说明

    java boolean占用内存大小说明

    这篇文章主要介绍了java boolean占用内存大小,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 解决mybatis-generator生成器添加类注释方法无效的问题

    解决mybatis-generator生成器添加类注释方法无效的问题

    这篇文章主要介绍了解决mybatis-generator生成器添加类注释方法无效的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java通过MySQL的加解密函数实现敏感字段存储

    Java通过MySQL的加解密函数实现敏感字段存储

    这篇文章主要介绍了如何在Java中MySQL的加解密函数实现敏感字段存储,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-03-03
  • java读取文件内容的三种方法代码片断分享(java文件操作)

    java读取文件内容的三种方法代码片断分享(java文件操作)

    本文介绍java读取文件内容的三种方法,代码可以直接放到程序中使用,大家参考使用吧
    2014-01-01
  • Spring Boot XSS 攻击过滤插件使用

    Spring Boot XSS 攻击过滤插件使用

    这篇文章主要介绍了Spring Boot XSS 攻击过滤插件使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Java之SpringBoot集成ActiveMQ消息中间件案例讲解

    Java之SpringBoot集成ActiveMQ消息中间件案例讲解

    这篇文章主要介绍了Java之SpringBoot集成ActiveMQ消息中间件案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07

最新评论