`

MD5 加密与解密算法

    博客分类:
  • java
阅读更多

 

 

 

 

public class MD5andKL {

	// 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("123123");
//		4297f44b13955235245b2497399d7a93
		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))));
	}
}


 

分享到:
评论

相关推荐

    md5加密算法详解md5加密算法详解md5加密算法详解md5加密算法详解

    md5加密算法详解md5加密算法详解md5加密算法详解md5加密算法详解md5加密算法详解md5加密算法详解md5加密算法详解md5加密算法详解

    MD5 加密算法 C++实现源码

    C++实现 MD5加密算法 可直接调用 hash1加密算法 MD5加密算法 MD5加密算法

    VBA MD5加密算法实现

    VBA MD5加密 算法

    MD5 加密算法JS文件

    MD5 加密算法JS文件,MD5算法原版描述

    md5加密算法md5加密算法

    md5加密算法md5加密算法md5加密算法md5加密算法md5加密算法md5加密算法md5加密算法

    md5加密算法

    密码学md5加密技术..........................................................................................................................................................................................

    md5加密算法 C语言(经过测试验证完整版)

    md5加密算法 C语言(经过测试验证完整版) 经过调试验证,与工具结果一致 MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash...

    MD5加密算法VC++

    MD5加密算法VC++MD5加密算法VC++MD5加密算法VC++MD5加密算法VC++MD5加密算法VC++MD5加密算法VC++MD5加密算法VC++

    md5加密算法源码,c语言源码

    md5加密算法源码: 一 \md5加密是对字符或密码进行的16位或32位等加密方式! 一般在普通MDB数据库经常用到,比如论坛数据库等.有用! 二 \加密解密并不矛盾,比如银行系统的128位加密现在谁可以轻易破的了呢? 虽然md5...

    MD5加密算法

    MD5就是采用单向加密的加密算法,对于MD5而言,有两个特性是很重要的,第一是任意两段明文数据,加密以后的密文不能是相同的;第二是任意一段明文数据,经过加密以后,其结果必须永远是不变的。前者的意思是不可能有...

    java实现MD5加密算法

    实现了不可逆的MD5加密算法

    经典的MD5加密算法

    经典的MD5加密算法,学习的好资料 经典的MD5加密算法,学习的好资料

    MD5加密算法需要jar包

    MD5加密 加密算法,jar包学习交流,java研发学习交流MD5加密算法需要jar包,满足基础研发需要

    md5加密算法源码

    里面有md5加密算法的完整实现,一个完整的工程,用c实现的。不过是从别人那弄过来的,亲测没问题。哈哈

    MD5加密算法vb源码

    MD5加密算法vb源码 MD5加密算法vb源码 MD5加密算法vb源码

    MD5加密算法源码.rar

    MD5加密算法源码,包涵源代码以及makefile文件。根据代码学习以及编译为.so文件在lua c等作为模块以用,可以用作MD5加密。

    java实现MD5加密解密算法

    java实现MD5加密解密算法,java源代码~

Global site tag (gtag.js) - Google Analytics