精华内容
下载资源
问答
  • Java实现字符串MD5加密

    2021-06-08 09:32:52
    import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Scanner; public class MD5Util { ... public static String ...// 拿到一个MD5转换器(如果想要SHA1参数换
    package com.utils;
    
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.util.Scanner;
    
    public class MD5Util {
    
        public static String stringMD5(String input) {
    
            try {
    //            拿到一个MD5转换器(如果想要SHA1参数换成”SHA1”)
                MessageDigest messageDigest =MessageDigest.getInstance("MD5");
    //            输入的字符串转换成字节数组
                byte[] inputByteArray = input.getBytes();
    //            inputByteArray是输入字符串转换得到的字节数组
                messageDigest.update(inputByteArray);
    //            转换并返回结果,也是字节数组,包含16个元素
                byte[] resultByteArray = messageDigest.digest();
    //            字符数组转换成字符串返回
                return byteArrayToHex(resultByteArray);
            } catch (NoSuchAlgorithmException e) {
                return null;
            }
        }
    
    //    将字节数组换成成16进制的字符串
        public static String byteArrayToHex(byte[] byteArray) {
    
    //        首先初始化一个字符数组,用来存放每个16进制字符
            char[] hexDigits = {'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F' };
    
    //        new一个字符数组,这个就是用来组成结果字符串的(解释一下:一个byte是八位二进制,也就是2位十六进制字符(2的8次方等于16的2次方))
            char[] resultCharArray =new char[byteArray.length * 2];
    
    //        遍历字节数组,通过位运算(位运算效率高),转换成字符放到字符数组中去
            int index = 0;
    
            for (byte b : byteArray) {
                resultCharArray[index++] = hexDigits[b>>> 4 & 0xf];
                resultCharArray[index++] = hexDigits[b& 0xf];
            }
    
    //        字符数组组合成字符串返回
            return new String(resultCharArray);
        }
    
        public static void main(String[] args) {
            MD5Util md5Util = new MD5Util();
            Scanner input = new Scanner(System.in);
            while (true) {
                System.out.println("请输入:");
                String in = input.nextLine();
                String value = md5Util.stringMD5(in);
                System.out.println("加密前:" + in);
                System.out.println("加密后:" + value + ",长度:" + value.length());
            }
        }
    }
    

    效果图:
    在这里插入图片描述
    代码出自https://www.cnblogs.com/hihtml5/p/6064999.html

    展开全文
  • 这里介绍的是字符串MD5加密,输出32位大写 工具类代码: import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * MD5加密工具 * */ public ...

    在网上找了很多方法试过,比较喜欢这个写法,自己拼凑后完成相应效果。
    这里介绍的是字符串MD5加密,输出32位大写

    工具类代码:

    import java.math.BigInteger;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    /**
     * MD5加密工具
     *
     */
    public class MD5Util {
    
        public static String stringToMD5(String plainText) {
            byte[] mdBytes = null;
            try {
                mdBytes = MessageDigest.getInstance("MD5").digest(
                        plainText.getBytes());
            } catch (NoSuchAlgorithmException e) {
                throw new RuntimeException("MD5算法不存在!");
            }
            String mdCode = new BigInteger(1, mdBytes).toString(16);
    
            if(mdCode.length() < 32) {
                int a = 32 - mdCode.length();
                for (int i = 0; i < a; i++) {
                    mdCode = "0"+mdCode;
                }
            }
            return mdCode.toUpperCase(); //返回32位大写
    //        return mdCode;            // 默认返回32位小写
        }
    }
    

    使用方法:

    //字符串通过工具类加密
    String password = MD5Util.stringToMD5(password);
    
    
    展开全文
  • JAVA 对字符串进行MD5加密

    万次阅读 2017-05-07 19:57:57
    对字符串进行MD5加密主要是应用在密码存储等地方,下面函数主要是用Java实现对字符串进行MD5加密的功能

    对字符串进行MD5加密主要是应用在密码存储等地方,下面函数主要是用Java实现对字符串进行MD5加密的功能

    /** 十六进制下数字到字符的映射数组 */
        private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
                "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
    
    /**
         * 对字符串进行MD5编码
         * @param originString
         * @return
         */
        private static String encodeByMD5(String originString) {
            if (originString != null){
                try {
                    MessageDigest md = MessageDigest.getInstance("MD5");
                    byte[] results = md.digest(originString .getBytes());
                    String resultString = byteArrayToHexString(results);
                    return resultString.toUpperCase();
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
            return null;
        }
    
        /**
         * 转换字节数组为16进制字串
         * 
         * @param b  字节数组
         * @return 十六进制字串
         */
        private static String byteArrayToHexString(byte[] b) {
            StringBuffer resultSb = new StringBuffer();
            for (int i = 0; i < b.length; i++) {
                resultSb.append(byteToHexString(b[i]));
            }
            return resultSb.toString();
        }
    
        /**
         * 将一个字节转化成16进制形式的字符串
         * @param b
         * @return
         */
        private static String byteToHexString(byte b) {
            int n = b;
            if (n < 0)
                n = 256 + n;
            int d1 = n / 16;
            int d2 = n % 16;
            return hexDigits[d1] + hexDigits[d2];
        }
    展开全文
  • java字符串进行MD5加密

    万次阅读 热门讨论 2017-12-09 15:06:14
    对于一个明文,为了安全,有时我们需要其进行MD5加密,下面提供2个java工具方法,直接调用其中一个即可。 方法1: /** * MD5加密 */ public class MD5Util { /** * Encodes a string 2 MD5 * * @param ...

    对于一个明文,为了安全,有时我们需要对其进行MD5加密,下面提供1个java工具方法,直接调用即可。

    /**
     * MD5加密
     */
    public class MD5Util {
    
    	/**
    	 * Encodes a string 2 MD5
    	 * 
    	 * @param str String to encode
    	 * @return Encoded String
    	 * @throws NoSuchAlgorithmException
    	 */
    	public static String crypt(String str) {
    		if (str == null || str.length() == 0) {
    			throw new IllegalArgumentException("String to encript cannot be null or zero length");
    		}
    		StringBuffer hexString = new StringBuffer();
    		try {
    			MessageDigest md = MessageDigest.getInstance("MD5");
    			md.update(str.getBytes());
    			byte[] hash = md.digest();
    			for (int i = 0; i < hash.length; i++) {
    				if ((0xff & hash[i]) < 0x10) {
    					hexString.append("0" + Integer.toHexString((0xFF & hash[i])));
    				} else {
    					hexString.append(Integer.toHexString(0xFF & hash[i]));
    				}
    			}
    		} catch (NoSuchAlgorithmException e) {
    			e.printStackTrace();
    		}
    		return hexString.toString();
    	}
    
    }
    

     

    另外,也可以直接使用apache提供的工具类:

    1 )添加依赖
     <!--MD5依赖-->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.3.2</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.3</version>
            </dependency>
    2 )调用工具类
     
    import org.apache.commons.codec.digest.DigestUtils;
    
    public class Md5 {
    
     public static void main(String[] args) throws Exception {
    
            //加密后的字符串 
            String encodeStr= DigestUtils.md5Hex(text+key);
            System.out.println(encodeStr);
    
        }
    }
    
    

    MD5有哪些特点

    1. 针对不同长度待加密的数据、字符串等等,其都可以返回一个固定长度MD5加密字符串。(通常是32位16进制字符串);
    2. 其加密过程几乎不可逆,除非维护一个庞大的Key-Value数据库来进行碰撞破解,否则几乎无法解开。
    3. 运算简便,且可实现方式多样,通过一定的处理方式也可以避免碰撞算法的破解。(加盐:随机字 符串)
    4. 对于一个固定的字符串。数字等等,MD5加密后的字符串是固定的,也就是说不管MD5加密多少 次,都是同样的结果

     

    欢迎关注微信公众号(Java修炼记):

    专注Java技术积累,免费分享Java技术干货、学习笔记、学习资料等,致力于让这里成为一个java知识小站。

     

    展开全文
  • Java对字符串实现MD5加密

    千次阅读 2014-03-15 23:17:14
    import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import sun.misc.BASE64Encoder;...public class testMd5 { public static void main(String[] args) { String str = "12
  • MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...
  • java对字符串密码的MD5加密与验证  MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现...
  • 主要介绍了Java生成MD5加密字符串代码实例,本文对MD5的作用作了一些介绍,然后给出了Java下生成MD5加密字符串的代码示例,需要的朋友可以参考下
  • import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; ... public static String md5(String plainText) { byte[] secretB...
  • java字符串 MD5密码的加密与验证

    千次阅读 2013-10-15 12:46:54
    MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希... 本实例介绍用MD5进行加密和验证,将输入字符串通过MD5加密成另一个字符串
  • private String md5(String value){ String result = null; MessageDigest md5 = null; try{ md5 = MessageDigest.getInstance("MD5"); md5.update((value).getBytes("UTF-8")); }c
  • java调用方法对字符串进行MD5加密

    万次阅读 2019-09-05 14:38:09
    直接用Java自己的方法实现加密 public static String getMD5String(String str) { try { // 生成一个MD5加密计算摘要 MessageDigest md = MessageDigest.getInstance("MD5"); // 计算md5函数 ...
  • java字符串加密 - MD5

    2018-03-28 20:49:42
    java字符串加密 ,源代码,32位加密 java字符串加密 ,源代码,安全可靠
  • JAVA JS 对字符串进行MD5加密

    千次阅读 2018-01-12 20:53:20
    JAVA 进行MD5加密: package cn.rojao.util; import java.security.MessageDigest; public class MD5Util {  //生成MD5   public static String getMD5(String message) {   String md5 = "
  • 前几天在Domino中用了Java代理写了一个采用MD5对字符串进行加密以及验证的简单功能。 参考文章: 1. JAVA加密算法的实现用例:http://www-128.ibm.com/developerworks/cn/java/l-security 实现过程如下: 1.对...
  • Java传入字符串进行MD5加密

    千次阅读 2014-04-14 19:19:24
    import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;...public class MD5Encoder { public static String encode(String pwd) { try { MessageDigest digest = MessageDiges
  • public static void main(String[] args) { String s = EncodeByMD5("api_code=13038263825&pageIndex=1&pageSize=10&py_code=糖尿病&timestamp=1585538904953e10adc3949ba59abbe56e057f20f8...
  • 1、MessageDigest 类为应用程序提供信息摘要算法的功能。 2、获取指定摘要算法的 MessageDigest 对象:如:MessageDigest.getInstance("MD5") 3、为报文摘要对象提供数据... * 获取字符串md5值 (十六进制,长度为
  • java实现的md5加密实现类所有的字符串进行加密加密后生成一串加密后的字符串
  • 主要是针对文件上传OSS,需要文件名进行Md5赋值,这样不会冲突,之前是文件名String赋值,Md5加密后得到字符串,可是同样的名称的文件加密是会有问题的。 主要实现的java工具类: import javax.crypto....
  • 文件里包含使用MD5加密算法获取文件的MD5校验码的代码,也包含MD5加密字符串的代码
  • Java Md5字符串加密类代码分享,MD5是一个比较常见的字符串加密算法,在JAVA中应用也相当普遍,这个MD5算法类或许可以直接套用,代码中的关键部分带有注释 ,...需要使用MD5对字符串加密的,那就下载这个JAVA函数库吧。
  • 主要介绍了java中常用工具类之字符串操作类和MD5加密解密类,需要的朋友可以参考下
  • 需要用到MD5加密时在网上找到了这么一段代码,简洁...返回值为加密MD5字符串。 import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class PasswordToMD5 { /**
  • Jmeter 实现字符串MD5加密

    千次阅读 2018-11-02 10:41:37
    具体实现方式如下: 1、在Eclipse平台创建项目,new 一个 class类,如下 package com.md5; import java.security.MessageDigest; ...public class MD5Test { public static String getM...
  • java对字符串的16位、32位MD5加密

    千次阅读 2018-09-29 15:15:31
    private static String MD5(String sourceStr) { String result = ""; try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(sourceStr.getBytes()); ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,844
精华内容 13,137
关键字:

java对字符串md5加密

java 订阅