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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • TK-MyBatis 分页查询「建议收藏」

    TK-MyBatis 分页查询「建议收藏」记tkMybatis查询出一个 List集合该集合已经做好了一层分页Page封装即查询出的list使用类型判断instanceofPage为true但是,中途不明白这是一个带分页的集合,把查询出的结果集又做了一层封装需要返回的对象类型为GoodsCategoryDTO,代码如下:   //商品集合        List&lt;GoodsCategory…

    2022年6月1日
    196
  • matlab流场可视化后处理「建议收藏」

    matlab流场可视化后处理「建议收藏」matlab流场可视化后处理1流体中标量的可视化1.1云图1.2切片图绘制1.3三维等值面图绘制2流体中矢量的可视化2.1箭头图或速度图2.2流线图2.4带节点的流线图2.5流管图和流带图2.6圆锥体图2.7粒子动画图3参考链接1流体中标量的可视化流体力学中常见的标量为位置、速度绝对值、压强等。1.1云图常用的云图绘制有pcolor、image、imagesc、imsh…

    2025年6月16日
    2
  • 正则实现二代身份证号码验证详解[通俗易懂]

    正则实现二代身份证号码验证详解[通俗易懂]最近项目需要对身份证进行比较合理的筛选,并不想用到第三方接口,所以写了个方法:包括支持身份证号合法性验证,支持18位身份证号,支持地址编码、出生日期、校验位验证.基本上这样就可以了.IdCodeValid:function(code){ //身份证号合法性验证 //支持15位和18位身份证号 //支持地址编码、出生日期、校验位验证 varcity={11:”北京”,12:”…

    2022年6月27日
    32
  • 找回 Ubuntu 11.10 的传统界面 (Gnome Classic)

    找回 Ubuntu 11.10 的传统界面 (Gnome Classic)

    2021年8月14日
    59
  • mba毕业后年薪一般多少_刚毕业年薪10万算什么水平

    mba毕业后年薪一般多少_刚毕业年薪10万算什么水平以前在一起读书他是学渣,我是学霸,但是为啥现在他工资多我这么多?

    2025年6月11日
    2
  • git 修改用户名以及邮箱_163怎么更改账号

    git 修改用户名以及邮箱_163怎么更改账号最近在提交代码时发现用户名和邮箱很长,感觉很奇怪,于是通过Git命令修改了一下用户名,用户名截图如下:修改步骤如下:1.进入Git的安装目录,找到git\git-cmd.exe,例如我的目录是D:\softwore\git\Git,目录截图如下:或者配置环境变量进行修改,环境变量配置为在PATH后面加上git的bin目录D:\softwore\git\Git\bin,截图如下…

    2022年9月7日
    1

发表回复

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

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