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

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密码加密的资料请关注我们其它相关文章!

时间: 2020-08-18

java如何给密码加密_Java如何实现密码加密相关推荐

  1. java如何加密_Java如何实现密码加密

    在查询时,我们如果要对用户的登录信息进行加密,通常会将其密码进行加密. 1) 可以借助spring框架工具类DigestUtils 2) 也可以使用shiro框架来实现 //保存用户自身信息 //1构 ...

  2. java 接口 安全加密_Java中的安全加密

    java 接口 安全加密 上一次我写关于密码学的文章时 ,我概述了Apache Shiro加密API,并展示了如何使用其两个对称密码. 我还写道:"您不需要在应用程序中加密和解密敏感数据的更 ...

  3. java如何实现aes加密_Java 如何实现AES加密

    做360广告的对接需要对密码进行AES加密,下面是点睛平台文档的描述: (AES模式为CBC,加密算法MCRYPT_RIJNDAEL_128)对MD5加密后的密码实现对称加密.秘钥是apiSecret ...

  4. java对sha1的解密_Java实现文件的加密解密功能示例

    本文实例讲述了java实现文件的加密解密功能分享给大家供大家参考,具体如下: package com.copy.encrypt; import java.io.file; import java.io ...

  5. java aes256 加密_JAVA中使用AES256加密

    前言:java默认支持128位加密规范,如果想支持256位加密规范,就需要使用无限制JCE策略文件,而现在Android端AES256的加密填充方式一般是PKCS7Padding,JAVA支持PKCS ...

  6. java修改密码代码_Java用户修改密码

    每一个应用系统都离不开用户模块.用户模块除了提供登录之外,还允许用户查看自己的信息和进行修改.本实例将创建一个用户类,然后再创建一个测试类调用用户类,实现修改密码的功能. 本实例的用户类非常简单,仅包 ...

  7. java密码强度_java实现的密码强度检测功能完整示例

    本文实例讲述了java实现的密码强度检测功能.分享给大家供大家参考,具体如下: CheckStrength.java文件: package com.wx.pwd; /** * 检测密码强度 * * @ ...

  8. java 公匙私匙_Java生成非对称型加密公钥和私钥的方法

    本文实例讲述了Java生成非对称型加密公钥和私钥的方法.分享给大家供大家参考.具体如下: 非对称型加密非常适合多个客户端和服务器之间的秘密通讯,客户端使用同一个公钥将明文加密,而这个公钥不能逆向的解密 ...

  9. java 配置文件加密_Java在配置文件中加密密码?

    小编典典 一种简单的方法是在Java中使用基于密码的加密.这使你可以使用密码来加密和解密文本. 这基本上意味着初始化一个javax.crypto.Cipherwith算法"AES/CBC/P ...

最新文章

  1. enspar启动失败40_负债80万开始爆仓,快40岁的人了没钱创业,精神恍惚该怎么翻身?...
  2. sublime 设置自动更新_不止是自动更新!简单几步让Windows 10变听话的孩子
  3. matlab做交互作用图,MatlabMatlab工程应用案例精要.ppt
  4. python在哪里学比较好-新手从Python的哪个版本开始学比较好?
  5. C++插入排序(附完整源码)
  6. matlab中统计数组中各数字(元素)出现的次数
  7. C# WinForm 中Label自动换行 解决方法
  8. 脚本输出当前 “yyyy-MM-dd WeakDay Festval”
  9. VMware 下Linux无法上网 新增支持WIFI方式 无线连接
  10. 前端vue实现pdf文件的在线预览
  11. android 通知打开app,Android打开通知栏并回到主页的几种方式
  12. Bootstrap3 弹出提示插件的选项
  13. web和python前景_我想了解一下pythonweb和javaweb比较详细的学习成本和应用前景,谢谢!?...
  14. One to One 的数据库模型设计与NHibernate配置
  15. 1954-计算机基础知识大赛 1
  16. 多位专家解读工业3D打印“叫好不叫座”
  17. Unreal Engine 4:虚幻4 文档
  18. 0基础参加数学建模,最大程度冲击奖项
  19. 2TB虚拟本地磁盘实验
  20. iOS-使用CoreLocation定位

热门文章

  1. 最新长三角shp底图(两省一市+安徽)
  2. HTML+CSS简单漫画网页设计成品 大学生个人HTML响应式--(海贼王 6页)
  3. 第三届中国移动开发者大会
  4. McAfee防火墙注意防止远程桌面被阻止
  5. 让Windows XP启动更快
  6. 机器人课程教师面对的困境有哪些
  7. 按字母A——Z排列的中国城市(地级市)json数据
  8. 几种限流、控频策略对比
  9. 水星无线网卡支持linux吗,ubuntu下使用水星MecuryUD13H无线网卡问题
  10. STM32驱动_rc522