精华内容
下载资源
问答
  • 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...加密密钥不同于...

    0 512bit Y0 Y1 Yq Y L ?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...加密密钥不同于解密密钥,加密密钥公之于众,谁都可以使用;解密密钥只有解密人自己......

    md = MessageDigest.getInstance("SHA"); md....解密 加密/解密 import java.io.*; import java....("DES/ECB/PKCS#5"); //Encrypt or decrypt if......

    JAVA编程题全集(50题及答案)_计算机软件及应用_IT/...n / k; } else k++; } } } 【程序 5】?...input fymd = new input(); do { e = 0; "......

    5 月推出的 Java 面向对象程序设计语 言(以下简称...input fymd = new input(); do { e = 0; System...

    “)d1 加凳 C=io1埘nd1 解密:M ro odn 图1S...(20md; /生成Piltrpnw iItrggm,0,)/ Bgneeqnw...5页 1下载券 使用Java技术实现对称密... 15页 ......

    JAVA超级算法(50题及答案)_IT认证_资格考试/认证_...} } } 【程序 5】 题目:利用条件运算符的嵌套来...input fymd = new input(); do { e = 0; "......

    = ”+sum); } } 5、编写一个 Java 应用程序,...input fymd = new input(); do { e = 0; System...

    input fymd = new input(); do { e = 0; System...5/3,8/5,13/8,21/13...求出这个数列的前 ...()函数 */ import java.util.*; public class ......

    tgl)md ,/-P ②若o, 回步骤① ;t 则返 =l...q生成流 程图 对称密钥用于解密和加密相同的数据...JAVA DSA签名实现 5页 免费 DSA算法 26页 1下载券......

    java===第五章PPT课件_IT认证_资格考试/认证_教育专区。Java 第5章 深入理解Java语言 2021/2/13 程骅 5.1 变量及其传递 ? 5 .1.1 基本类型变量与引用型......

    Java 安全通信概述 1.安全通信介绍 计算机安全通信...; MessageDigest md = MessageDigest.getInstance("...便可使用 A 的数字证书中附带的 A 的公钥解密消息......

    } } } package akjava; import class FenJie { ...例如 2+22+222+2222+22222(此时共有 5 个数...input fymd = new input(); do { e = 0; "......

    } } } package akjava; import class FenJie { ...例如 2+22+222+2222+22222(此时共有 5 个数...input fymd = new input(); do { e = 0; "......

    import java.util.*; public class lianxi04{ ...} } } 【程序 5】 题目:利用条件运算符的嵌套来...input fymd = new input(); do { e = 0; System......

    import java.util.*; public class lianxi04{ ...} } } 【程序5】 题目:利用条件运算符的嵌套来完成...input fymd = new input(); do { e = 0; System......

    JAVA入门练习50题_IT认证_资格考试/认证_教育专区。...} } } 【程序 5】 题目:利用条件运算符的嵌套来...input fymd = new input(); do { e = 0; "......

    } } } 【程序 5】 题目:利用条件运算符的嵌套来...input fymd = new input(); do { e = 0; "...java经典习题集演示教学 50页 免费 Java习题集 15......

    01 ) 在 Java 中, 以下程序编译运行后的输出结果...5; int s = 0; switch (a) { case 5: s ...(选择一项) a) md b) dir c) cd d) ren 33......

    md D. rmdir E. dir 2. 下列命令中可以退出DOS...cd ... 5. 下列用来编译Java文件的命令是: A. ...

    展开全文
  • JAVA的md5解密后导致乱码

    千次阅读 2013-11-28 17:45:47
    UUID:1cea62e4cf184fd99a41b89f94b4f54d 密文是:�P�<�O�֖?...java代码如下: public class Test { public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingExceptio
    UUID:1cea62e4cf184fd99a41b89f94b4f54d
    密文是:�P�<�O�֖?}(�r
    明文是:abc
    java代码如下:
    public class Test {
    	public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {
    		String uuid = UUID.randomUUID().toString().replace("-", "");
    		System.out.println("UUID:"+uuid);
    		String msg = "abc";  
    //		msg += uuid;
    		Test md5 = new Test();
            byte[] resultBytes = md5.eccrype(msg);
              
            System.out.println("密文是:" + new String(resultBytes));  
            System.out.println("明文是:" + msg);  
    	}
    	
    	public static byte[] eccrype(String pwd) throws NoSuchAlgorithmException, UnsupportedEncodingException{
    		MessageDigest md5 = MessageDigest.getInstance("MD5");
    		byte[] srcBytes = pwd.getBytes();
    		//使用srcBytes更新摘要  
    	    md5.update(srcBytes); 
    	    //完成哈希计算,得到result  
            byte[] resultBytes = md5.digest();
    		return resultBytes;
    	}
    }


    加密是将字节按照一定的规则进行了转换,转换后出什么样的怪字符都是正常的。
    一般的做法是将加密后的byte数组转换为十六进制的字符串。
    1.先为每个用户去一个不同的随机数(或者能够标示彼此不同的),加密放到数据库中 
    2.将随机数解密后与重要信息(密码等)使用MD5算法进行哈希计算 
    这样下来每个用户的随机数都不同,即使密码相同,生成的密码哈希也会不同。可以较大限度的减少破解。 
    一般来说,密码等这样重要的信息使用单向加密(哈希算法)比较好,而手机号码、邮箱使用对称机密比较快,而且方便解密。 
    3、加密的次数可以多次
    public class EncryptUtil {
    	//加密次数
    	private static final int ENCRYPT_NUM = 5;
    	public static void main(String[] args) {
    		String p = "美国日本中国法国电脑桌";
    		String uuid = UUID.randomUUID().toString().replace("-", "");
    		uuid = "9888bcb6475f407c90191ce190a00298";
    		String md5 = getMD5Str(p);
    		System.out.println(getMD5Str(p));
    		System.out.println("UUID:"+uuid);
    		md5 = getMD5Salt(md5, uuid);
    		System.out.println(md5);
    		/**
    		 *  ace61b4492703cdad7ffbdd5fcd420ff
    			UUID:9888bcb6475f407c90191ce190a00298
    			a80cfe51b012dc00eb9ecff1f9a3539c
    		 */
    	}
    	
    	/**
    	 * 加上salt进行进一步的加密
    	 * @param MD5
    	 * @param salt
    	 * @return
    	 */
    	public static String getMD5Salt(String MD5, String salt){
    		
    		for(int num = 0; num < ENCRYPT_NUM; num ++){
    			MD5 += salt;
    			MD5 = getMD5Str(MD5);
    		}
    		
    		return MD5;
    	}
    	
    	/**
    	 * MD5 加密
    	 */
    	private static String getMD5Str(String str) {
    		MessageDigest messageDigest = null;
    
    		try {
    			messageDigest = MessageDigest.getInstance("MD5");
    
    			messageDigest.reset();
    
    			messageDigest.update(str.getBytes("UTF-8"));
    		} catch (NoSuchAlgorithmException e) {
    			e.printStackTrace();
    		} catch (UnsupportedEncodingException e) {
    			e.printStackTrace();
    		}
    
    		byte[] byteArray = messageDigest.digest();
    
    		StringBuffer md5StrBuff = new StringBuffer();
    
    		//将加密后的byte数组转换为十六进制的字符串,否则的话生成的字符串会乱码
    		for (int i = 0; i < byteArray.length; i++) {
    			if (Integer.toHexString(0xFF & byteArray[i]).length() == 1){
    				md5StrBuff.append("0").append(
    						Integer.toHexString(0xFF & byteArray[i]));
    			}else{
    				md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));
    			}
    		}
    
    		return md5StrBuff.toString();
    	}
    }



    展开全文
  • 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))));

    }

    }

    展开全文
  • 参见英文答案 >Is it possible to recover message from MD5 and Java?...如果它是可解密的,请指导我如何做到这一点,根据我理解MD5算法不能解密,但现在我工作是找到解密方法.请提供您宝贵意...

    参见英文答案 >

    Is it possible to recover message from MD5 and Java? [closed]                                    1个

    可以解密下面的代码吗?下面是我加密String值的方法.如果它是可解密的,请指导我如何做到这一点,根据我的理解MD5算法不能解密,但现在我的工作是找到解密它的方法.请提供您宝贵的意见,以完成它.

    public static String encryptPassword(final String password) {

    if (MyUtil.isEmpty(password)) {

    return null;

    }

    MessageDigest digest;

    try {

    digest = MessageDigest.getInstance("MD5");

    digest.update(password.getBytes(), 0, password.length());

    String secured = new BigInteger(1, digest.digest()).toString(16);

    return secured;

    } catch (NoSuchAlgorithmException e) {

    e.printStackTrace();

    }

    return null;

    }

    展开全文
  • 主要介绍了Java实现DES加密与解密md5加密以及Java实现MD5加密解密类 ,需要朋友可以参考下
  • package com.zyg.security.md5;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import java....
  • 首先说明一下系统自带的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...
  • 方法一:只加密import java.security.*;...class MD5_test {public final static String MD5(String s) {char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9','a', 'b', 'c',...
  • 基础:MessageDigest类使用其实要在Java中完成MD5加密,MessageDigest类大部分都帮你实现好了,几行代码足矣:/*** 对字符串md5加密** @param str* @return*/import java.security.MessageDigest;public static ...
  • java实现md5加密解密 notNET中加密和解密的实现方法亦或是旅途风光 7-141918℃ 22【 ee21.cn - ASP.NET 】 .NET将原来独立API和SDK合并到一个框架中,这对于程序开发人员非常有利。它将CryptoAPI改编进.NET...
  • java的md5加密解密

    2012-11-14 19:09:12
    md5加密解密,两种长度已经实现,非常实用
  • java-MD5解密算法

    千次阅读 2013-01-07 09:35:44
    在网络中MD5是著名不可逆算法,但是如果知道MD5的加密字符串 则可以通过自己加密算法对明文进行加密,对加密后密文与字符串匹配; 匹配成功,表示找到明文;但是此程序时间耗费较高!仅提供一个解密的...
  • java的MD5加密、解密

    2012-08-08 11:22:00
    java的MD5加密、解密
  • MD5消息摘要算法(英语:MD5Message-Digest Algorithm),一种被广泛使用密码散列函数,可以产生出一...就是小编也不知道,通俗一点MD5是一种算法,用于数据安全方面对数据进行加密和解密,虽然MD5被认为不安全,...
  • java实现md5 加密解密

    热门讨论 2013-08-20 09:58:44
    java实现md5 加密解密(在网络中MD5是著名不可逆算法,但是如果知道MD5的加密字符串 则可以通过自己加密算法对明文进行加密,对加密后密文与字符串匹配; 匹配成功,表示找到明文;但是此程序时间耗费较高!仅...
  • Java中使用MD5摘要还是很方便,直接上代码。1 packagecom.cxc.nothing;23 importjava.nio.charset.Charset;4 importjava.security.MessageDigest;56 public classMD5Test {7 public static voidmain(String[] ...
  • 简单demo:Java代码 importjava.security.*;importjava.security.spec.*;classMD5_test{publicfinalstaticStringMD5(Strings){charhexDigits[]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'...
  • JAVA的MD5加密与解密

    2008-12-28 19:04:18
    JAVA的MD5加密与解密.chm MD5还广泛用于加密和解密技术上
  • JAVA的MD5加密,利用MD5单向函数产生密钥,方便测试
  • 很多时候要对秘要进行持久化加密,此时加密采用md5。采用对称加密时候就采用DES方法了import java.io.IOException;import java.security.MessageDigest;import java.security.SecureRandom;import javax.crypto....
  • java的MD5解密

    千次阅读 2015-05-10 16:04:39
    import java.security.*; import java.security.spec.*; class MD5_test { public final static String MD5(String s) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
  • 基础:MessageDigest类使用其实要在Java中完成MD5加密,MessageDigest类大部分都帮你实现好了,几行代码足矣:/*** 对字符串md5加密** @param str* @return*/import java.security.MessageDigest;public static ...
  • Java MD5加密解密

    万次阅读 热门讨论 2018-06-29 10:09:27
    Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用一种散列函数,用以提供消息完整性保护。该算法文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and ...
  • Java的MD5加密和解密

    2017-02-06 13:41:00
    链接:http://www.cnblogs.com/android-blogs/p/5305598.html Java的MD5加密和解密 简单demo: importjava.security.*; importjava.security.spec.*; classMD5_test{ publicfinalstat...
  • 如果对安全性需求不是太高,MD5仍是使用非常方便和普及加密方式,比如Java中自带MessageDigest类就提供了支持,这里就为大家带来Java实现MD5加密及解密的代码实例分享:
  • Java的MD5加密解密

    千次阅读 2012-08-31 16:24:03
    简单demo: Java代码 ...import java.security.*;...import java.security.spec.*;...class MD5_test {  ... public final static String MD5(String s) {   char hexDigits[] = { '0' ,
  • import java.io.IOException;import java.security.MessageDigest;import sun.misc.BASE64Encoder;import sun.misc.BASE64...public class MD5Util {/*** MD5加密*/public static String md5Encryption(String st...
  • package other;import java.security.MessageDigest;import java.security..../** MD5 算法*/public class MD5 {// 全局数组private final static String[] strDigits = { "0", "1", "2", "3", "4",...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,348
精华内容 539
关键字:

java的md5解密

java 订阅