2019独角兽企业重金招聘Python工程师标准>>>

背景

用户管理是一个项目要提供的基本功能,一个用户的基本信息包括登录名和密码。

并且密码以明文方式存在数据库是不合理的,必须加密。

密码存储发展过程

  • 第一代密码

用户名和密码以明文方式存在数据库中。(容易泄露)

  • 第二代密码

对用户的密码加密处理后存储在数据库中。(但是密码不够复杂,还是会被破解)

  • 第三代密码

对用户的信息,增加了一个字段:盐值 salt

Salt 可以是任意字母、数字、或是字母或数字的组合,但必须是随机产生的,每个用户的 Salt 都不一样,用户注册的时候,数据库中存入的不是明文密码,也不是简单的对明文密码进行散列,而是 MD5( 明文密码 + Salt)

密码加密方式

在加密算法上,可以使用MD5加密算法,原因有二:

1. 这个算法是单向的,即使得到密文,也无法推断出明文。

2. 无论密码有多长,通过MD5计算之后得到的是一个固定长度的结果,有利于数据库的设计。

实例实现

import org.springframework.util.DigestUtils;
import com.bdp.commons.utils.StringUtils;public class Md5 {public static String getMd5(long seckillId) {// 加入一个盐值,用于增加密码破解难度String salt = StringUtils.getUUId();String base = seckillId + salt;//获取加密后的密码String md5 = DigestUtils.md5DigestAsHex(base.getBytes());return md5;}
}

转载于:https://my.oschina.net/u/3908739/blog/1976051

Java中的MD5加密相关推荐

  1. java对密码进行加密的方法_如何在JAVA中使用MD5加密对密码进行加密

    如何在JAVA中使用MD5加密对密码进行加密 发布时间:2020-11-25 17:12:40 来源:亿速云 阅读:118 作者:Leah 本篇文章为大家展示了如何在JAVA中使用MD5加密对密码进行 ...

  2. java中的md5加密_java中的MD5加密

    java中的MD5加密 2016-01-22 09:07:00 admin 原创 1144 摘要:java中的MD5加密 /** * * md5加密 * @author LiuJiawan * @da ...

  3. java中md5加密和解密_如何在java中实现md5加密和解密

    如何在java中实现md5加密和解密 关注:273  答案:1  mip版 解决时间 2021-01-19 20:37 提问者精神疯裂 2021-01-19 05:36 如何在java中实现md5加密 ...

  4. java中完成md5加密解密_java实现md5加密解密 notNET中加密和解密的实现方法

    java实现md5加密解密 notNET中加密和解密的实现方法 亦或是旅途风光 7-14 1918℃ 22 [ ee21.cn - ASP.NET ] .NET将原来独立的API和SDK合并到一个框架 ...

  5. java中字符串 MD5密码的加密与验证

    java中字符串 MD5密码的加密与验证   MD5即Message-Digest Algorithm 5(信息-摘要 算法 5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译 摘要 ...

  6. java中使用MD5进行计算摘要

    java中使用MD5进行加密 在各种应用系统的开发中,经常需要存储用户信息,很多地方都要存储用户密码,而将用户密码直接存储在服务器上显然是不安全的,本文简要介绍工作中常用的 MD5加密算法,希望能抛砖 ...

  7. java中常用的加密工具

    java中常用的加密工具 1. md5加密工具类 public class MD5Utils {private static final String hexDigIts[] = {"0&q ...

  8. android php md5加密解密,Android中的md5加密怎么与php md5加密保持一致

    Android中的md5加密怎么与php md5加密保持一致 发布时间:2020-12-05 15:27:37 来源:亿速云 阅读:72 作者:Leah 这期内容当中小编将会给大家带来有关Androi ...

  9. java实现php md5加密解密,java_Java后端实现MD5加密的方法,前言 在我们开发是要考虑这 - phpStudy...

    Java后端实现MD5加密的方法 前言 在我们开发是要考虑这个功能,当用户忘记密码的情况下,我们需要动态的发给他一个6位的随机密码,通过即时通,短信,微信等.并同时修改数据库中的原密码为这6位的随机密 ...

  10. vue中使用MD5加密

    在vue中使用MD5加密  安装:  使用npm npm install --save blueimp-md5 <script src="http://cdn.bootcss.com/ ...

最新文章

  1. JMC | 药物发现中的迁移学习
  2. JavaScript实现Apache .htaccess 转化nginx生成器工具-toolfk程序员工具网
  3. Centos7 下部署PPTP
  4. java编译不了testpad,java – Gradle编译但不运行TestNG测试
  5. 苏联当年有多少应该拿菲尔兹奖的数学家被黑了?
  6. linux bash 逻辑,Bash 中的逻辑和() | Linux 中国
  7. 【java】彩票中奖码生成器:java.util.Random里的方法public int nextInt(int bound)
  8. Backpropogation反向传播公式推导【李宏毅深度学习版】
  9. iPhone5捣鼓mobile terminal
  10. 小程序毕设作品之微信校园洗衣小程序毕业设计成品(7)中期检查报告
  11. python -使用pytesseract识别文字时遇到的问题
  12. SAP ABAP ZBA_R003 查询用户下的角色里的公司
  13. 不必急于吹响裁判哨:“安卓禁令”后华为手机的变数与新机
  14. 物联网时代数据数据库如何选型?
  15. 从maven私服(nexus)拉取jar文件,解析项目pom依赖信息
  16. 刀片服务器的机箱显示器,思科 UCS 5100系列刀片服务器机箱
  17. Python数据分析 ---- ARMA模型
  18. Allegro使用总结-查看Layout基本操作:
  19. Collaborative Spatiotemporal Feature Learning for Video Action Recognition 论文笔记
  20. java batch是什么_什么是 Spring Batch?

热门文章

  1. HTML5新规范和CSS3新特性
  2. Nowcoder 提高组练习赛-R2
  3. Servlet文件下载
  4. maven环境、本地仓储配置(下载安装)
  5. urllib 库的代替品 requests 的用法
  6. Asp.Net Core 第03局:Startup
  7. SpringMvc源码入门
  8. win7用VMware安装CentOs7搭建Linux环境
  9. ABAP中的枚举对象
  10. J2EE基础篇——十三个规范