精华内容
下载资源
问答
  • import java.security.*;import java.security.spec.*;classMD5_test {public final staticString MD5(String s) {char hexDigits[] = { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '...

    import java.security.*;import java.security.spec.*;classMD5_test {public final staticString MD5(String s) {char hexDigits[] = { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9','a' , 'b' , 'c' , 'd' , 'e' , 'f'};try{byte [] strTemp =s.getBytes();

    MessageDigest mdTemp= MessageDigest.getInstance("MD5");

    mdTemp.update(strTemp);byte [] md =mdTemp.digest();int j =md.length;char str[] = new char [j * 2];int k = 0;for ( int i = 0 ; i < j; i++) {byte byte0 =md[i];

    str[k++] = hexDigits[byte0 >>> 4 & 0xf];

    str[k++] = hexDigits[byte0 & 0xf];

    }return newString(str);

    }catch(Exception e) {return null;

    }

    }public static voidmain(String[] args) {//MD5_Test aa = new MD5_Test();

    System.out.print(MD5_test.MD5("b"));

    }

    }

    [java] view plain copy print?

    import java.security.*;import java.security.spec.*;classMD5_test {public final staticString MD5(String s) {char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9','a', 'b', 'c', 'd', 'e', 'f'};try{byte[] strTemp =s.getBytes();

    MessageDigest mdTemp= MessageDigest.getInstance("MD5");

    mdTemp.update(strTemp);byte[] md =mdTemp.digest();int j =md.length;char str[] = new char[j * 2];int k = 0;for (int i = 0; i < j; i++) {byte byte0 =md[i];

    str[k++] = hexDigits[byte0 >>> 4 & 0xf];

    str[k++] = hexDigits[byte0 & 0xf];

    }return newString(str);

    }catch(Exception e) {return null;

    }

    }public static voidmain(String[] args) {//MD5_Test aa = new MD5_Test();

    System.out.print(MD5_test.MD5("b"));

    }

    }

    Java代码 收藏代码importjava.security.MessageDigest;public classMD5andKL {//MD5加码。32位

    public staticString MD5(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= newStringBuffer();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));

    }returnhexValue.toString();

    }//可逆的加密算法

    public staticString KL(String inStr) {//String s = new String(inStr);

    char [] a =inStr.toCharArray();for ( int i = 0 ; i < a.length; i++) {

    a[i]= (char ) (a[i] ^ 't');

    }

    String s= newString(a);returns;

    }//加密后解密

    public staticString JM(String inStr) {char [] a =inStr.toCharArray();for ( int i = 0 ; i < a.length; i++) {

    a[i]= (char ) (a[i] ^ 't');

    }

    String k= newString(a);returnk;

    }//测试主函数

    public static voidmain(String args[]) {

    String s= new String( "a");

    System.out.println("原始:" +s);

    System.out.println("MD5后:" +MD5(s));

    System.out.println("MD5后再加密:" +KL(MD5(s)));

    System.out.println("解密为MD5后的:" +JM(KL(MD5(s))));

    }

    }

    [java] view plain copy print?

    importjava.security.MessageDigest;public classMD5andKL {//MD5加码。32位

    public staticString MD5(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= newStringBuffer();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));

    }returnhexValue.toString();

    }//可逆的加密算法

    public staticString KL(String inStr) {//String s = new String(inStr);

    char[] a =inStr.toCharArray();for (int i = 0; i < a.length; i++) {

    a[i]= (char) (a[i] ^ 't');

    }

    String s= newString(a);returns;

    }//加密后解密

    public staticString JM(String inStr) {char[] a =inStr.toCharArray();for (int i = 0; i < a.length; i++) {

    a[i]= (char) (a[i] ^ 't');

    }

    String k= newString(a);returnk;

    }//测试主函数

    public static voidmain(String args[]) {

    String s= new String("a");

    System.out.println("原始:" +s);

    System.out.println("MD5后:" +MD5(s));

    System.out.println("MD5后再加密:" +KL(MD5(s)));

    System.out.println("解密为MD5后的:" +JM(KL(MD5(s))));

    }

    }

    展开全文
  • /** * 对密码进行解密 * */ public static byte[] decode(String str) { byte[] data = str.getBytes(); int len = data.length; ByteArrayOutputStream buf = new ByteArrayOutputStream(len); ...

    // base64加密开始

    var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv"+ "wxyz0123456789+/" + "=";

    function encode64(input) {

    var output = "";

    var chr1, chr2, chr3 = "";

    var enc1, enc2, enc3, enc4 = "";

    var i = 0;

    do {

    chr1 = input.charCodeAt(i++);

    chr2 = input.charCodeAt(i++);

    chr3 = input.charCodeAt(i++);

    enc1 = chr1 >> 2;

    enc2 = ((chr1 & 3) <> 4);

    enc3 = ((chr2 & 15) <> 6);

    enc4 = chr3 & 63;

    if (isNaN(chr2)) {

    enc3 = enc4 = 64;

    } else if (isNaN(chr3)) {

    enc4 = 64;

    }

    output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2)

    + keyStr.charAt(enc3) + keyStr.charAt(enc4);

    chr1 = chr2 = chr3 = "";

    enc1 = enc2 = enc3 = enc4 = "";

    } while (i 

    return output;

    }

    使用:var password = encode64($("#password").val());

    private static char[] base64EncodeChars = new char[] { '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', 'c', 'd',

    'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q',

    'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',

    '4', '5', '6', '7', '8', '9', '+', '/', };

    private static byte[] base64DecodeChars = new byte[] { -1, -1, -1, -1, -1,

    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,

    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,

    -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59,

    60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,

    10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,

    -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,

    38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1,

    -1, -1 };

    /**

    * 对密码进行解密

    * */

    public static byte[] decode(String str) {

    byte[] data = str.getBytes();

    int len = data.length;

    ByteArrayOutputStream buf = new ByteArrayOutputStream(len);

    int i = 0;

    int b1, b2, b3, b4;

    while (i 

    do {

    b1 = base64DecodeChars[data[i++]];

    } while (i 

    if (b1 == -1) {

    break;

    }

    do {

    b2 = base64DecodeChars[data[i++]];

    } while (i 

    if (b2 == -1) {

    break;

    }

    buf.write((int) ((b1 <>> 4)));

    do {

    b3 = data[i++];

    if (b3 == 61) {

    return buf.toByteArray();

    }

    b3 = base64DecodeChars[b3];

    } while (i 

    if (b3 == -1) {

    break;

    }

    buf.write((int) (((b2 & 0x0f) <>> 2)));

    do {

    b4 = data[i++];

    if (b4 == 61) {

    return buf.toByteArray();

    }

    b4 = base64DecodeChars[b4];

    } while (i 

    if (b4 == -1) {

    break;

    }

    buf.write((int) (((b3 & 0x03) <

    }

    return buf.toByteArray();

    }

    使用:this.setPwd(new String(decode(pwd)));

    展开全文
  • 前台js MD5加密 后台 java MD5解密

    千次阅读 2015-10-09 09:28:00
     60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,  -1, -1, -1, -1, -1, ...
    // base64加密开始
      var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv"+ "wxyz0123456789+/" + "=";
      function encode64(input) {
        var output = "";
        var chr1, chr2, chr3 = "";
        var enc1, enc2, enc3, enc4 = "";
        var i = 0;
        do {
          chr1 = input.charCodeAt(i++);
          chr2 = input.charCodeAt(i++);
          chr3 = input.charCodeAt(i++);
          enc1 = chr1 >> 2;
          enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
          enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
          enc4 = chr3 & 63;
          if (isNaN(chr2)) {
            enc3 = enc4 = 64;
          } else if (isNaN(chr3)) {
            enc4 = 64;
          }
          output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2)
              + keyStr.charAt(enc3) + keyStr.charAt(enc4);
          chr1 = chr2 = chr3 = "";
          enc1 = enc2 = enc3 = enc4 = "";
        } while (i < input.length);
        return output;
      }

    使用:var password = encode64($("#password").val());

        private static char[] base64EncodeChars = new char[] { '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', 'c', 'd',
            'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q',
            'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
            '4', '5', '6', '7', '8', '9', '+', '/', };
    		
        private static byte[] base64DecodeChars = new byte[] { -1, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59,
            60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
            10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
            -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
            38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1,
            -1, -1 };
        /**
    	 * 对密码进行解密
    	 * */
    	public static byte[] decode(String str) {
    		byte[] data = str.getBytes();
    		int len = data.length;
    		ByteArrayOutputStream buf = new ByteArrayOutputStream(len);
    		int i = 0;
    		int b1, b2, b3, b4;
    
    		while (i < len) {
    			do {
    				b1 = base64DecodeChars[data[i++]];
    			} while (i < len && b1 == -1);
    			if (b1 == -1) {
    				break;
    			}
    
    			do {
    				b2 = base64DecodeChars[data[i++]];
    			} while (i < len && b2 == -1);
    			if (b2 == -1) {
    				break;
    			}
    			buf.write((int) ((b1 << 2) | ((b2 & 0x30) >>> 4)));
    
    			do {
    				b3 = data[i++];
    				if (b3 == 61) {
    					return buf.toByteArray();
    				}
    				b3 = base64DecodeChars[b3];
    			} while (i < len && b3 == -1);
    			if (b3 == -1) {
    				break;
    			}
    			buf.write((int) (((b2 & 0x0f) << 4) | ((b3 & 0x3c) >>> 2)));
    
    			do {
    				b4 = data[i++];
    				if (b4 == 61) {
    					return buf.toByteArray();
    				}
    				b4 = base64DecodeChars[b4];
    			} while (i < len && b4 == -1);
    			if (b4 == -1) {
    				break;
    			}
    			buf.write((int) (((b3 & 0x03) << 6) | b4));
    		}
    		return buf.toByteArray();
    	}

    使用:this.setPwd(new String(decode(pwd)));

    转载于:https://my.oschina.net/qiaojj/blog/514575

    展开全文
  • 1,什么是加密加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。 ## 这里举一个简单的加密如下 **123456------>234567**每一...

    1,什么是加密

    93ddf00ff55bf3125ce200057365db6d.png
    加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。
    ## 这里举一个简单的加密如下
    **123456------>234567**

    250910f94e3bd4b24c3e47f884f7ddff.png
    每一位数字+1得到的234567而原来的123456用术语叫明文(就是加密前的)而 234567就是密文(加密后的),
    秘钥则是+1,这就是一个简单的加密过程

    2,什么是MD5加密

    MD5加密即Message-Digest Algorithm 5(信息-摘要算法),是让大容量信息在用数字签名软件签署私人密匙
    前被"压缩"成一种保密的格式,经MD2,MD3和MD4发展而来。

    3,保密格式

    MD5是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑。

    java中MD5加密代码

    package com.guigu.com;
    
    
    
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.util.Scanner;
    
    public class GetMD5Encrypt {
    
    	public static void main(String[] args) {
    
    		Scanner src = new Scanner(System.in);
    		
    		// 接受输入的内容
    		String str = src.next();
    		
    		try {
    			// 生成MessageDigest 对象
    			// MessageDigest.getInstance("MD5"):创建MD5加密
    			MessageDigest m = MessageDigest.getInstance("MD5");
    			
    			
    			
    			// 传入需要计算的字符串
    			m.update(str.getBytes("UTF-8"));
    			
    			byte s[] = m.digest();
    			String result = "";
    			
    			
    			for (int i = 0; i < s.length; i++) {
    				result+=Integer.toHexString((0x000000ff & s[i]) | 0xffffff00).substring(6);
    			}
    			
    			System.out.println("加密前为:"+str);
    			
    			System.out.println("MD5加密为:"+result);
    			
    			
    			
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	
    }

    运行图:

    354fe85d2486841cb8d03465364b7880.png

    作者:dengke1

    链接:https://blog.csdn.net/dengke1/article/details/109248808

    展开全文
  • 简介Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的工具方法来自于每个用户的精雕细琢,它...
  • 来自:Ryan Wang | 责编:乐乐 链接:ryanc.cc/archives/hutool-java-tools-lib正文 简介Hutool是Hu + tool的自造词,前者致敬我的“前任公司”,后者为工具之意,谐音“糊涂”,寓意追求“万事都作糊涂观,无所谓失...
  • Hutool 是什么Hutool 是一个 Java 工具包类库,它可以对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种 Utils 工具类。Hutool 即是 Hu(谐音“糊涂”) + tool,前者致敬作者 “前任...
  • Hutool 是什么Hutool 是一个 Java 工具包类库,它可以对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种 Utils 工具类。Hutool 即是 Hu(谐音“糊涂”) + tool,前者致敬作者 “前任...
  • 阅读本文大概需要 2.8 分钟。...Hutool 是什么Hutool 是一个 Java 工具包类库,它可以对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种 Utils 工具类。Hutool 即是 Hu(谐...
  • Hutool 是一个小而全的 Java 工具类库,通过静态方法封装,降低相关 API 的学习成本,提高工作效率,使 Java 拥有函数式语言般的优雅,让 Java 语言也可以“甜甜的”。项目名称:hutool项目作者:hutool开源许可协议...
  • 简介Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的工具方法来自于每个用户的精雕细琢,它...
  • 1 512bits H MD 5 H MD 5 H MD 5 H MD...MD5解密算法-JAVA算法实... 2页 免费 java实现MD5算法 1页 免费 JAVA生成......Java 实现: MD5: MessageDigest md = MessageDigest.getInstance("MD5"); md...加密密钥不同于...
  • 2014-08-23 回答package endecrypt;import java.io.unsupportedencodingexception;import java.security.messagedigest;import java.security..../*** 采用md5加密解密* @author tfq* @datetime 2011-...
  • Java实现MD5加密以及解密类,附带测试类,具体见代码。MD5加密解密类——MyMD5Util,代码如下:view plaincopy to clipboardprint?package com.zyg.security.md5;import java.io.UnsupportedEncodingException;import...
  • java md5加密 解密

    2017-08-03 22:10:46
    java md5加密 解密
  • package com.md5;/*** @author 作者 E-mail: chenshaohua2012@126.com* @version 创建时间:2012-11-6 下午3:29:45* 类说明*/import java....public class MD5andKL {// MD5加码。32位public static String MD5(...
  • Java实现MD5加密以及解密类,附带测试类,具体见代码。MD5加密解密类——MyMD5Util,代码如下package com.zyg.security.md5;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import...
  • 完整代码:public class MD5Util {public static String getMD5(String str) {try {// 生成一个MD5加密计算摘要MessageDigest md = MessageDigest.getInstance("MD5");// 计算md5函数md.update(str.getBytes());// ...
  • Is it possible to recover message from MD5 and Java? [closed]1个可以解密下面的代码吗?下面是我加密String值的方法.如果它是可解密的,请指导我如何做到这一点,根据我的理解MD5算法不能解密,但现在我的工作是...
  • 首先说明一下系统自带的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 {byte[] btInput = s.getBytes();// 获得MD...
  • Java中使用MD5摘要还是很方便的,直接上代码。1 packagecom.cxc.nothing;23 importjava.nio.charset.Charset;4 importjava.security.MessageDigest;56 public classMD5Test {7 public static voidmain(String[] ...
  • 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...
  • packageendecrypt;importjava.io.UnsupportedEncodingException;importjava.security.MessageDigest;importjava.security..../***采用MD5加密解密*@authortfq*@datetime2011-10-13*/publicclassMD5U...
  • import java.security.MessageDigest;public class MD5Util {/*** Title: MD5加密 生成32位md5码* Description: TestDemo* @author lu* @date 2016年6月23日 下午2:36:07* @param inStr* @return 返回32位m...
  • package com.zyg.security.md5;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import java....
  • 我的后端使用Java,所以我想知道如何使用 Java 解密MD5 Javascript加密?这是我正在使用的MD5函数的JS等效项:Ext.util.MD5 = function(s,raw,hexcase,chrsz) {raw = raw || false;hexcase = hexcase || fals...
  • MAC算法结合了MD5和SHA算法的优势,加入了密钥的支持,是一种更加安全的消息摘要算法。MAC兼容了MD和SHA算法的特性,并在此基础上加入了密钥, 因为MAC算法融合了密钥散列函数通常我们也把MA...
  • public class MD5Test {/**** MD5加密 生成32位md5码** @return 返回32位md5码*/public static String md5Encode(String inStr) throws Exception {MessageDigest md5 = null;try {md5 = MessageDigest.getInstance...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,737
精华内容 694
热门标签
关键字:

javamd5解密

java 订阅