精华内容
下载资源
问答
  • Is it possible to recover message from MD5 and Java? [closed]1个可以解密下面的代码吗?下面是我加密String值的方法.如果它是可解密的,请指导我如何做到这一点,根据我的理解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;

    }

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

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

    }

    }

    展开全文
  • packagecom.zyg.security.md5;importjava.io.UnsupportedEncodingException;importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;importjava.security.SecureRandom;importjava....

    package com.zyg.security.md5;

    import java.io.UnsupportedEncodingException;

    import java.security.MessageDigest;

    import java.security.NoSuchAlgorithmException;

    import java.security.SecureRandom;

    import java.util.Arrays;

    public class MyMD5Util {

    private static final String HEX_NUMS_STR="0123456789ABCDEF";

    private static final Integer SALT_LENGTH = 12;

    /**

    * 将16进制字符串转换成字节数组

    * @param hex

    * @return

    */

    public static byte[] hexStringToByte(String hex) {

    int len = (hex.length() / 2);

    byte[] result = new byte[len];

    char[] hexChars = hex.toCharArray();

    for (int i = 0; i 

    int pos = i * 2;

    result[i] = (byte) (HEX_NUMS_STR.indexOf(hexChars[pos]) <

    | HEX_NUMS_STR.indexOf(hexChars[pos + 1]));

    }

    return result;

    }

    /**

    * 将指定byte数组转换成16进制字符串

    * @param b

    * @return

    */

    public static String byteToHexString(byte[] b) {

    StringBuffer hexString = new StringBuffer();

    for (int i = 0; i 

    String hex = Integer.toHexString(b[i] & 0xFF);

    if (hex.length() == 1) {

    hex = '0' + hex;

    }

    hexString.append(hex.toUpperCase());

    }

    return hexString.toString();

    }

    /**

    * 验证口令是否合法

    * @param password

    * @param passwordInDb

    * @return

    * @throws NoSuchAlgorithmException

    * @throws UnsupportedEncodingException

    */

    public static boolean validPassword(String password, String passwordInDb)

    throws NoSuchAlgorithmException, UnsupportedEncodingException {

    //将16进制字符串格式口令转换成字节数组

    byte[] pwdInDb = hexStringToByte(passwordInDb);

    //声明盐变量

    byte[] salt = new byte[SALT_LENGTH];

    //将盐从数据库中保存的口令字节数组中提取出来

    System.arraycopy(pwdInDb, 0, salt, 0, SALT_LENGTH);

    //创建消息摘要对象

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

    //将盐数据传入消息摘要对象

    md.update(salt);

    //将口令的数据传给消息摘要对象

    md.update(password.getBytes("UTF-8"));

    //生成输入口令的消息摘要

    byte[] digest = md.digest();

    //声明一个保存数据库中口令消息摘要的变量

    byte[] digestInDb = new byte[pwdInDb.length - SALT_LENGTH];

    //取得数据库中口令的消息摘要

    System.arraycopy(pwdInDb, SALT_LENGTH, digestInDb, 0, digestInDb.length);

    //比较根据输入口令生成的消息摘要和数据库中消息摘要是否相同

    if (Arrays.equals(digest, digestInDb)) {

    //口令正确返回口令匹配消息

    return true;

    } else {

    //口令不正确返回口令不匹配消息

    return false;

    }

    }

    /**

    * 获得加密后的16进制形式口令

    * @param password

    * @return

    * @throws NoSuchAlgorithmException

    * @throws UnsupportedEncodingException

    */

    public static String getEncryptedPwd(String password)

    throws NoSuchAlgorithmException, UnsupportedEncodingException {

    //声明加密后的口令数组变量

    byte[] pwd = null;

    //随机数生成器

    SecureRandom random = new SecureRandom();

    //声明盐数组变量

    byte[] salt = new byte[SALT_LENGTH];

    //将随机数放入盐变量中

    random.nextBytes(salt);

    //声明消息摘要对象

    MessageDigest md = null;

    //创建消息摘要

    md = MessageDigest.getInstance("MD5");

    //将盐数据传入消息摘要对象

    md.update(salt);

    //将口令的数据传给消息摘要对象

    md.update(password.getBytes("UTF-8"));

    //获得消息摘要的字节数组

    byte[] digest = md.digest();

    //因为要在口令的字节数组中存放盐,所以加上盐的字节长度

    pwd = new byte[digest.length + SALT_LENGTH];

    //将盐的字节拷贝到生成的加密口令字节数组的前12个字节,以便在验证口令时取出盐

    System.arraycopy(salt, 0, pwd, 0, SALT_LENGTH);

    //将消息摘要拷贝到加密口令字节数组从第13个字节开始的字节

    System.arraycopy(digest, 0, pwd, SALT_LENGTH, digest.length);

    //将字节数组格式加密后的口令转化为16进制字符串格式的口令

    return byteToHexString(pwd);

    }

    }

    展开全文
  • Java实现MD5加密以及解密类,附带测试类,具体见代码。MD5加密解密类——MyMD5Util,代码如下:view plaincopy to clipboardprint?package com.zyg.security.md5;import java.io.UnsupportedEncodingException;import...
  • /** * 对密码进行解密 * */ public static byte[] decode(String str) { byte[] data = str.getBytes(); int len = data.length; ByteArrayOutputStream buf = new ByteArrayOutputStream(len); ...
  • 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...
  • MD5加密解密Java源码

    2010-10-20 15:27:27
    MD5字符加密解密源程序 MD5字符加密解密源程序 MD5字符加密解密源程序 MD5字符加密解密源程序 MD5字符加密解密源程序
  • packageendecrypt;importjava.io.UnsupportedEncodingException;importjava.security.MessageDigest;importjava.security..../***采用MD5加密解密*@authortfq*@datetime2011-10-13*/publicclassMD5U...
  • 转载请注明:来自http://blog.csdn.net/M_ChangGong/ 作者:张燕广Java实现MD5加密以及解密类,附带测试类,具体见代码。MD5加密解密类——MyMD5Util,代码如下:package com.zyg.security.md5;import java.io....
  • Java实现MD5加密以及解密类,附带测试类,具体见代码。MD5加密解密类——MyMD5Util,代码如下package com.zyg.security.md5;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import...
  • 主要介绍了Java实现DES加密与解密md5加密以及Java实现MD5加密解密类 ,需要的朋友可以参考下
  • 很多时候要对秘要进行持久化加密,此时的加密采用md5。采用对称加密的时候就采用DES方法了import java.io.IOException;import java.security.MessageDigest;import java.security.SecureRandom;import javax.crypto....
  • MD5消息摘要算法(英语:MD5Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一...就是小编也不知道,通俗一点MD5是一种算法,用于数据的安全方面对数据进行加密和解密,虽然MD5被认为不安全,...
  • 2014-08-23 回答package endecrypt;import java.io.unsupportedencodingexception;import java.security.messagedigest;import java.security..../*** 采用md5加密解密* @author tfq* @datetime 2011-...
  • 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 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(...
  • md5加密解密1、maven 引入jar包org.apache.commonscommons-lang33.3.22、代码package com.qunar.hadoop.util;import org.apache.commons.codec.digest.DigestUtils;public class MD5 {/*** @param text明文* @param ...
  • java md5加密 解密

    2017-08-03 22:10:46
    java md5加密 解密
  • 完整代码:public class MD5Util {public static String getMD5(String str) {try {// 生成一个MD5加密计算摘要MessageDigest md = MessageDigest.getInstance("MD5");// 计算md5函数md.update(str.getBytes());// ...
  • 首先说明一下系统自带的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...
  • package common;import javax.crypto.*;import java.io.*;import java.security.*;public class Encrypter{private Cipher ecipher;...// md5编码public static String md5Encrypt(String s) thro...
  • package com.zyg.security.md5;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import java....
  • public class MD5Test {/**** MD5加密 生成32位md5码** @return 返回32位md5码*/public static String md5Encode(String inStr) throws Exception {MessageDigest md5 = null;try {md5 = MessageDigest.getInstance...
  • Java中使用MD5摘要还是很方便的,直接上代码。1 packagecom.cxc.nothing;23 importjava.nio.charset.Charset;4 importjava.security.MessageDigest;56 public classMD5Test {7 public static voidmain(String[] ...
  • 基础:MessageDigest类的使用其实要在Java中完成MD5加密,MessageDigest类大部分都帮你实现好了,几行代码足矣:/*** 对字符串md5加密** @param str* @return*/import java.security.MessageDigest;public static ...
  • 前台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, ...
  • 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...
  • 基础:MessageDigest类的使用其实要在Java中完成MD5加密,MessageDigest类大部分都帮你实现好了,几行代码足矣:/*** 对字符串md5加密** @param str* @return*/import java.security.MessageDigest;public static ...

空空如也

空空如也

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

md5解密java

java 订阅