Java-MD5加密[通俗易懂]

Java-MD5加密[通俗易懂]密码全是明文,防止内部人员监守自盗,改成暗文密码加密一般使用MD5加密特点:一旦加密之后,就不可解密光是MD5加密还不够安全,这时候就要添加盐值:盐值作用:让你的密码更加安全,MD5:支持加密次数MD5加密三个概念:MD5常规加密,为了让你的密码更加安全,MD5加密还要加盐值,为了让你的密码超级安全,它支持加密次数MD5Utils.encrypByMd5(String类型的密码)就执行加密importjava.security.MessageDigest;impo

大家好,又见面了,我是你们的朋友全栈君。

密码全是明文,防止内部人员监守自盗,改成暗文

密码加密 一般使用 MD5

加密特点:一旦加密之后 ,就不可解密

光是MD5加密 还不够安全 ,这时候就要添加盐值:

盐值作用:让你的密码更加安全,

MD5:支持加密次数

MD5加密三个概念: MD5常规加密,为了让你的密码更加安全,MD5加密还要加盐值,为了让你的密码超级安全,它支持加密次数 MD5Utils.encrypByMd5(String类型的密码)就执行加密


import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Utils { 
   

    /** * 加密 * @param context */
    public static String encrypByMd5(String context) { 
   
        try { 
     
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(context.getBytes());//update处理 
            byte [] encryContext = md.digest();//调用该方法完成计算 
  
            int i;  
            StringBuffer buf = new StringBuffer("");  
            for (int offset = 0; offset < encryContext.length; offset++) { 
   //做相应的转化(十六进制) 
                i = encryContext[offset];  
                if (i < 0) i += 256;  
                if (i < 16) buf.append("0");  
                buf.append(Integer.toHexString(i));  
           }  
            return buf.toString();
        } catch (NoSuchAlgorithmException e) { 
   
            // TODO Auto-generated catch block 
            e.printStackTrace();
            return  null;
        }  
    }

    public static void main(String[] args) { 
   
        //加密
        System.out.println(MD5Utils.encrypByMd5("123456"));
        //加密加盐 查询用户时,除了查到加密密码外,还能查到颜值。 把输入密码+盐值加密和数据库存放密码比对就OK
        System.out.println(MD5Utils.encrypByMd5("123456"+ StrUtils.getComplexRandomString(32)));
        System.out.println(MD5Utils.encrypByMd5("123456"+ StrUtils.getComplexRandomString(32)));
        System.out.println(MD5Utils.encrypByMd5("123456"+ StrUtils.getComplexRandomString(32)));
    }

}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157271.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • B样条曲线(B-spline Curves)

    B样条曲线(B-spline Curves)关键字:NURBS,基函数,控制点,节点,另一个讲的很好的https://www.cnblogs.com/icmzn/p/5100761.html看了网上很多相关资料才得以下笔,资料太多,这里就不一一列举了,感谢各位大佬的资料本博客顺序不太好,看前面的东西可能需要提前看后面的东西。正在努力修炼,敬请谅解写了个B样条曲线计算的完成程序,包括绘图,https://download.c…

    2022年6月18日
    33
  • 备份集中的数据库备份与现有的数据库不同解决方法

    备份集中的数据库备份与现有的数据库不同解决方法以前一直使用SQLServer2000,现在跟潮流都这么紧,而且制定要求使用SQLServer2005,就在现在的项目中使用它了。对于SQLServer2005,有几个地方是要注意的,比方在还原数据库时,不像2000里边将数据库和文件区分的很细,统一均为文件,这就使还原的数据库文件制定为.bak。那么想还原2000的数据库(备份数据库文件,无后缀名的),就需要自己手工选择。…

    2022年5月6日
    444
  • 基础才是重中之重~你是否真正在用MVC路由功能~再续

    基础才是重中之重~你是否真正在用MVC路由功能~再续

    2022年3月12日
    40
  • SLAM技术分享_it技术分享社区

    SLAM技术分享_it技术分享社区同时定位与地图重建(SimultaneousLocalizationandMapping,SLAM),是机器人领域中的一项基础的底层技术,其希望机器人能在一个陌生的环境下实现自身的实时定位,同时能够重建出有关于环境的地图。随着近年无人驾驶、增强现实、虚拟现实等应用的兴起,作为实现这些应用的SLAM技术也越发引人注目。SLAM技术主要完成两项任务:自身定位与环境建图,也是让机器知道自己在哪里,已经周围的环境是啥。然而,如果想要精确的实现定位任务就不可避免的需要高精度的地图,而高精度的地图重建是需要以更

    2022年10月1日
    2
  • 美团面试官问我: ZGC 的 Z 是什么意思

    美团面试官问我: ZGC 的 Z 是什么意思

    2020年11月20日
    251
  • 【吐血整理】想学Google Guava看这篇就够了「建议收藏」

    【吐血整理】想学Google Guava看这篇就够了「建议收藏」GoogleGuava常用功能梳理,想学习Guava的看过来

    2025年8月20日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号