精华内容
下载资源
问答
  • javamd5加密工具类

    2018-05-31 15:36:45
    1.解压; 2.将该jar包导入到项目中; 3.加密 DigestUtils.md5Hex("Marydon")
  • java md5加密 解密

    2017-08-03 22:10:46
    java md5加密 解密
  • 最简单详细的JavaMD5加密解密算法

    千次阅读 2018-10-19 00:04:15
    JavaMD5加密算法 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家...

     

    JavaMD5加密算法

    MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在 RFC 1321 中被加以规范。

    数据(如一段文字)运算变为另一固定长度值,是散列算法的基础原理。

    1996年后被证实存在弱点,可以被加以破解,对于需要高度安全性的数据,专家一般建议改用其他算法,如SHA-2。2004年,证实MD5算法无法防止碰撞(collision),因此不适用于安全性认证,如SSL公开密钥认证或是数字签名等用途。

    算法

    Figure 1. 一个MD5运算— 由类似的64次循环构成,分成4组16次。F 一个非线性函数;一个函数运算一次。Mi 表示一个 32-bits 的输入数据,Ki 表示一个 32-bits 常数,用来完成每次不同的计算。

    MD5是输入不定长度信息,输出固定长度128-bits的算法。经过程序流程,生成四个32位数据,最后联合起来成为一个128-bits散列。基本方式为,求余、取余、调整长度、与链接变量进行循环运算。得出结果。

     

    MD5加密解密类[开袋即食]

    package com.Test;  
      
    import java.io.UnsupportedEncodingException;  
    import java.security.MessageDigest;  
    import java.security.NoSuchAlgorithmException;  
      
    /** 
     * 采用MD5加密解密 
     * @author tfq 
     * @datetime 2011-10-13 
     */  
    public class MD5Util {  
      
        /*** 
         * MD5加码 生成32位md5码 
         */  
        public static String string2MD5(String inStr){  
            MessageDigest md5 = null;  
            try{
               //引用  java.security.MessageDigest公共类
               // getInstance("MD5")方法 设置加密格式
                md5 = MessageDigest.getInstance("MD5");  //此句是核心
            }catch (Exception e){  
                System.out.println(e.toString());  
                e.printStackTrace();  
                return "";  
            }  
            char[] charArray = inStr.toCharArray();  
            byte[] byteArray = new byte[charArray.length];  
      
            for (int i = 0; i < charArray.length; i++)  
                byteArray[i] = (byte) charArray[i];  
            byte[] md5Bytes = md5.digest(byteArray);  
            StringBuffer hexValue = new StringBuffer();  
            for (int i = 0; i < md5Bytes.length; i++){  
                int val = ((int) md5Bytes[i]) & 0xff;  
                if (val < 16)  
                    hexValue.append("0");  
                hexValue.append(Integer.toHexString(val));  
            }  
            return hexValue.toString();  
      
        }  
      
        /** 
         * 加密解密算法[可逆] 执行一次加密,执行两次解密 
         */   
        public static String convertMD5(String inStr){  
      
            char[] a = inStr.toCharArray();  
            for (int i = 0; i < a.length; i++){  
                a[i] = (char) (a[i] ^ 't');  
            }  
            String s = new String(a);  
            return s;  
      
        }  
      
        // 测试主函数  
        public static void main(String args[]) {  
            String s = new String("tangfuqiang");  
            System.out.println("原始:" + s);  
            System.out.println("MD5后:" + string2MD5(s));  
            System.out.println("加密的:" + convertMD5(s));  
            System.out.println("解密的:" + convertMD5(convertMD5(s)));  
      
        }  
    }  

    ヽ( ̄▽ ̄)ノ开箱即食

    展开全文
  • java实现md5 加密解密

    热门讨论 2013-08-20 09:58:44
    java实现md5 加密解密(在网络中MD5是著名的不可逆算法,但是如果知道MD5的加密的字符串 则可以通过自己的加密算法对明文进行加密,对加密后的密文与字符串匹配; 匹配成功,表示找到明文;但是此程序的时间耗费较高!仅...
  • 各种加密解密的实现,包含CryptoJS v3.1.2和个人易语言调试过的Base64、MD5、SHA、AES、RAS等js文件。
  • Java实现MD5加密解密

    热门讨论 2011-07-29 11:02:34
    Java实现MD5加密以及解密,附带测试类,具体见代码。 Java实现MD5加密以及解密,附带测试类,具体见代码。 Java实现MD5加密以及解密,附带测试类,具体见代码。 Java实现MD5加密以及解密,附带测试类,具体见代码。
  • JAVAmd5加密解密过程

    千次阅读 2019-04-10 10:23:15
    /*** *32位MD5 */ public static String stringMD5(String inStr){ MessageDigest md5 = null; try{ md5 = MessageDigest.getInstance("MD5"); }catch (Excep...

    /*** 
       *32位MD5
        */  
        public static String stringMD5(String inStr){  
         MessageDigest md5 = null;  
           try{  
                md5 = MessageDigest.getInstance("MD5");  
            }catch (Exception e){  
                System.out.println(e.toString());  
                e.printStackTrace();  
                return "";  
            }  
            char[] charArray = inStr.toCharArray();  
            byte[] byteArray = new byte[charArray.length];  
      
            for (int i = 0; i < charArray.length; i++)  
                byteArray[i] = (byte) charArray[i];  
            byte[] md5Bytes = md5.digest(byteArray);  
            StringBuffer hexValue = new StringBuffer();  
            for (int i = 0; i < md5Bytes.length; i++){  
                int val = ((int) md5Bytes[i]) & 0xff;  
                if (val < 16)  
                   hexValue.append("0");  
               hexValue.append(Integer.toHexString(val));  
           }  
           return hexValue.toString();  
     
        }  
      
        /** 
         * 两次解密 
         */   
       public static String convertMD5(String inStr){  
      
            char[] a = inStr.toCharArray();  
           for (int i = 0; i < a.length; i++){  
                a[i] = (char) (a[i] ^ 't');  
           }  
            String s = new String(a);  
            return s;  
      
       }   

    展开全文
  • MD5解密程序

    千次阅读 2021-02-10 22:41:59
    刚学习编程不久。之前遇到了一个用户名或者密码进行md5加密的设计。所以在网上找了一个代码,很有用。感谢该作者分享!! ... import java.io.UnsupportedEncodingException;... * 采用MD5加密解密 * * @author tfq *

    刚学习编程不久。之前遇到了一个用户名或者密码进行md5加密的设计。所以在网上找了一个代码,很有用。感谢该作者分享!!

    package com.lofter.svntesr;
    
    import java.io.UnsupportedEncodingException;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    /**
     * 采用MD5加密解密
     * 
     * @author tfq
     * @datetime 2011-10-13
     */
    public class MD5Test {
    
    	/***
    	 * MD5加码 生成32位md5码
    	 */
    	public static String string2MD5(String inStr) {
    		MessageDigest md5 = null;
    		try {
    			md5 = MessageDigest.getInstance("MD5");
    		} catch (Exception e) {
    			System.out.println(e.toString());
    			e.printStackTrace();
    			return "";
    		}
    		char[] charArray = inStr.toCharArray();
    		byte[] byteArray = new byte[charArray.length];
    
    		for (int i = 0; i < charArray.length; i++)
    			byteArray[i] = (byte) charArray[i];
    		byte[] md5Bytes = md5.digest(byteArray);
    		StringBuffer hexValue = new StringBuffer();
    		for (int i = 0; i < md5Bytes.length; i++) {
    			int val = ((int) md5Bytes[i]) & 0xff;
    			if (val < 16)
    				hexValue.append("0");
    			hexValue.append(Integer.toHexString(val));
    		}
    		return hexValue.toString();
    
    	}
    
    	/**
    	 * 加密解密算法 执行一次加密,两次解密
    	 */
    	public static String convertMD5(String inStr) {
    
    		char[] a = inStr.toCharArray();
    		for (int i = 0; i < a.length; i++) {
    			a[i] = (char) (a[i] ^ 't');
    		}
    		String s = new String(a);
    		return s;
    
    	}
    
    	// 测试主函数
    	public static void main(String args[]) {
    		String s = new String("a");
    		System.out.println("原始:" + s);
    		System.out.println("MD5后:" + string2MD5(s));
    		System.out.println("加密的:" + convertMD5(s));
    		System.out.println("解密的:" + convertMD5(convertMD5(s)));
    
    	}
    }
    
    展开全文
  • java实现MD5加密算法

    2016-07-25 11:09:54
    实现了不可逆的MD5加密算法
  • JAVA中MD5加密解密(MD5工具类)

    千次阅读 2019-12-05 17:45:26
    * Description: md5加密解密 */ public class MD5 { public static String md5 ( String dateString ) throws Exception { MessageDigest md5 = null ; byte [ ] digest = MessageDigest . ...

    ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)

    http://ascii.911cha.com/

    工具类如下:

    import org.apache.commons.codec.digest.DigestUtils;
    import java.math.BigInteger;
    import java.security.MessageDigest;
    
    /**
     * Description: md5加密解密
     */
    public class MD5 {
    
        public static String md5(String dateString) throws Exception {
            MessageDigest md5 = null;
            byte[] digest = MessageDigest.getInstance("md5").digest(dateString.getBytes("utf-8"));
            String md5code = new BigInteger(1, digest).toString(16);
            // 如果生成数字未满32位,需要前面补0
            for (int i = 0; i < 32 - md5code.length(); i++) {
                md5code = "0" + md5code;
            }
            return md5code;
        }
    
    	//ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。
    	//(1)0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),
    	// 如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字			   符:SOH(文头)、EOT(文尾)、ACK(确认)等;
    	// ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的	应用程序,而对文本显示有不同的影响。
    	// 2)32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
    	//(3)65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等
    	。
        public static String md5PlusSalt(String keyword)
        {
    		//md5加密
            String md5 = DigestUtils.md5Hex(keyword);
    		//md5+盐
            char[] cArray = md5.toCharArray();
            for(int i = 0;i < cArray.length; i++)
            {
                if(cArray[i] >= 48 &&cArray[i] <= 57)
                {
                    cArray[i] = (char)(105-cArray[i]);
    
                }
            }
    		//都可以使用
            return  String.valueOf(cArray);
    		//return  "".valueOf(cArray);
    
        }
    	//
    	解密+盐
        public static String md5MinusSalt(String md5)
        {
            char[] cArray=md5.toCharArray();
            for(int i=0;i<cArray.length;i++)
            {
                if(cArray[i]>=48&&cArray[i]<=57)
                {
                    cArray[i]=(char)(105-cArray[i]);
                }
            }
            return  String.valueOf(cArray);
    		//return  "".valueOf(cArray);
        }
    }
    

    测试类

    import com.example.demo.system.util.MD5;
    import org.apache.commons.codec.digest.DigestUtils;
    
    /**
     * Description:MD5测试类
     */
    public class Md5Test{
    
        public static void main(String[] args) {
    
            String keyword="i love you";
            String md5= DigestUtils.md5Hex(keyword);
            System.out.println("md5加密后:"+"\n"+md5);
            String md5salt= MD5.md5PlusSalt(keyword);
            System.out.println("加盐后:"+"\n"+md5salt);
            String word= MD5.md5MinusSalt(md5salt);
            System.out.println("解密后:"+"\n"+word);
        }
    }
    
    展开全文
  • javaMD5加密,通过算法,将密码加密成56位的密文,但不能解密。。。。。。。。。。。。。。。。。。。。。。。。。
  • Java MD5加密解密

    2020-09-27 14:39:49
    * MD5技术加密解密 */ public class MD5Tools { /*** * MD5加码 生成32位md5码 */ public static String string2MD5(String inStr){ MessageDigest md5 = null; try{ md5 = MessageDigest.get...
  • MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性。用术语讲,MD5是一种消息摘要算法(Message Digest Algorithm)。另外还有一种常用的消息摘要算法SHA1。如果想了解这些的话,可以去百度百科:MD5、...
  • } /** * md5加密算法进行加密(不可逆) * @param res 需要加密的原文 * @param key 秘钥 * @return */ public String MD5(String res, String key) { return keyGeneratorMac(res, HmacMD5, key); } /** * 使用SHA...
  • MD5解密工具類

    2018-05-05 15:39:34
    MD5解密, MD5解密, MD5解密 MD5解密 MD5解密
  • javamd5加密解密

    2015-04-12 14:10:41
     JAVA的MD5加密与解密  MD5的全称是Message-Digest Algorithm 5,Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。MD5将任意长度的"字节串"变换成一个128bit的大...
  • java实现MD5加密解密

    2019-10-18 16:33:34
    注意:这里无论是第一种还是第二种,运行一次为加密,运行两次是进行解密!!!! 第一种: import java.io.UnsupportedEncodingException; import java.security.MessageDigest; `在这里插入代码片` import java.....
  • js,java,加密解密

    2016-06-05 12:24:55
    JCryptoJS v3.1.2和JAVA加解密,支持AES,MD5等,其中AES有实例已在生产环境中使用,亲测通过。 在使用时js对明文密码加密再提交,后台java解密。 随机生成key放到session中,js用该key加密,java用该key解密。 可...
  • /** * @ClassName MD5Utils * @Description TODO * @Author ZhangSan_Plus * @Date 2020/5/20 18:21 * @Version 1.0 **/ public class MD5Utils { public static final String MD5 = "MD5"; public static final ...
  • Java中MD5加密、解密工具类

    千次阅读 2019-09-28 07:54:00
    public class MyMD5Util { private static final String HEX_NUMS_STR="0123456789ABCDEF"; private static final Integer SALT_LENGTH = 12; /** * 将16进制字符串转换成字节数组 * @param hex ...
  • MD5处理: package com.test; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5 { public static String Encrypt(String str){ try { ...
  • 如果对安全性的需求不是太高,MD5仍是使用非常方便和普及的加密方式,比如Java中自带的MessageDigest类就提供了支持,这里就为大家带来Java实现MD5加密及解密的代码实例分享:  基础:MessageDigest类的使用  其实要在...
  • javaMD5实现加密解密

    2018-09-26 18:49:00
    封装一个方法用于加密 /** * md5加密 * @param data * @return ... * @throws NoSuchAlgorithmException ... public static String md5(String data) throws NoSuchAlgorithmException {...
  • Java实现MD5加密解密

    千次阅读 2013-05-27 11:11:04
    首先说明一下系统自带的MD5加密:  public final static String MD5(String s) {  char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};  try {  byt
  • JAVA各种加密与解密算法【转载】

    千次阅读 2020-04-23 09:07:17
            之前有兴趣研究了一下java的加密与解密的方法,发现市面上有好多种加密解密方式,在这里整理了一下。 目录 1.BASE64加密/解密 &...
  • public class MD5解密 { private static final char code[] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B...
  • MD5加密实例(加盐)

    2012-02-09 10:41:21
    一个MD5加盐的实例,希望能对你们有用,能帮助到你们,
  • Java 加解密技术系列之 MD5

    万次阅读 多人点赞 2015-02-26 15:43:42
    这篇文章继续加解密的系列,当然也是介绍比较基础的加密方式 — — MD5,MD5 属于单向加密算法,是不可逆的加密方式,也就是说,采用了 MD5 加密方式加密之后,就不能对加密的结果进行解密,得到原有的字符串,这是...
  • JAVAMD5加密解密

    千次阅读 2014-09-18 13:04:01
    MD5的全称是Message-Digest Algorithm 5,Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。MD5将任意长度的"字节串"变换成一个128bit的大整数,并且它是一个不可逆...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 148
精华内容 59
关键字:

javamd5解密

java 订阅