程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

Java密码加盐功能实现

发布于2021-05-29 22:03     阅读(1346)     评论(0)     点赞(13)     收藏(5)


写入数据库的密码,如果不加密,就会被人偷窥进而引发账户安全问题。java常用的加密操作是采用MD5进行加密。它是采用哈希算法来进行加密,具有不可逆性。但是如果你百度搜索“MD5破解”你会发现还真的有破解的网站,所以如果你采用简单的密码,比如:123456,即使你加密了,也会轻而易举进行破解。所以还要有所谓“密码加盐”的功能。

例如:我设置的密码是“123456”,如果不加盐,即是加密了,也能破解掉。加密如下:

然后把加密后的字符串放进破解网站机进行解密:

看到了吗?你的密码被破解出来了!!!

下面进行加盐操作:

  1. package com.wei.mall.util;
  2. import com.wei.mall.common.Constant;
  3. import org.apache.tomcat.util.codec.binary.Base64;
  4. import java.nio.charset.StandardCharsets;
  5. import java.security.MessageDigest;
  6. import java.security.NoSuchAlgorithmException;
  7. /**
  8. * MD5工具
  9. */
  10. public class MD5Utils {
  11. public static String getMD5Str(String strValue) throws NoSuchAlgorithmException {
  12. MessageDigest md5 = MessageDigest.getInstance("MD5");
  13. //加盐操作增加常量值
  14. return Base64.encodeBase64String(md5.digest((strValue+ Constant.SALT).getBytes())) ;
  15. }
  16. // public static void main(String[] args) throws NoSuchAlgorithmException {
  17. // String md5=null;
  18. // md5 = getMD5Str("123456");
  19. // System.out.println(md5);
  20. // }
  21. }

常量值:进行加盐操作,SALT的字符串是随意打的,把密码变得复杂:

  1. package com.wei.mall.common;
  2. /**
  3. * 常量值
  4. */
  5. public class Constant {
  6. public static final String SALT="fskdhfiuhjfshfjhsad4354%¥%¥%3";
  7. }

如下验证:

密码就变得相对安全了!!!!!

 

原文链接:https://blog.csdn.net/qq_35207086/article/details/117293978



所属网站分类: 技术文章 > 博客

作者:我是不是很美

链接:http://www.javaheidong.com/blog/article/207685/7307176cf98fa281e10f/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

13 0
收藏该文
已收藏

评论内容:(最多支持255个字符)