必威体育Betway必威体育官网
当前位置:首页 > IT技术

MD5的加密和解密算法

时间:2019-08-26 06:10:00来源:IT技术作者:seo实验室小编阅读:79次「手机版」
 

md5算法


先解释下:

MD5是不可逆,这里的加密解密,你可以看到是对MD5算法先加密后解密,而不是对MD5的解密

package com.test;

import java.security.messageDigest;

public class DecryptMD5 {
	
	 // MD5加码。32位   
	 public static String 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 = 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 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 = new String(a);   
	  return s;   
	 }   
	  
	 // 加密后解密   
	 public static String JM(String inStr) {   
	  char[] a = inStr.toCharArray();   
	  for (int i = 0; i < a.length; i++) {   
	   a[i] = (char) (a[i] ^ 't');   
	  }   
	  String k = new String(a);   
	  return k;   
	 }   
	    
	 // 测试主函数   
	 public static void main(String args[]) {   
	  String s = new String("sa");   
	  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))));   
	 }   

}

相关阅读

AesUtils 对称加密

Base64import java.security.InvalidKeyException; import java.security.Key; import java.security.NoSuchAlgorithmException;

EFS加密数据

EFS加密数据0x00 前言0x01 过程1. EFS 加密1.1 在user2中文件 新建文件夹 目录下---->右键属性---->高级---->勾上“加密内容以保

【压缩文件被加密,怎么破?】

原创:信息时代的

PEID加密算法识别插件Krypto ANALyzer

前不久一次ctf比赛里碰到的逆向题ida反编译出来一坨恶心的移位异或代码,当时直接蒙蔽谷歌也找不出,这次再度碰到类似的关键代码块也

使用MD5在线加解密工具,对汉字进行加密,得到不同的结果

1. 问题背景 使用相同的汉字字符串进行MD5计算,有时候会遇到:使用不同的在线工具,得到不同的MD5计算结果。 2. 原因 出现这样情况的

分享到:

栏目导航

推荐阅读

热门阅读