java 的代码

源代码在线查看: md5和一个可逆加密算法相接合的加密和解密程序 .txt

软件大小: 188 K
上传用户: sinoarts
关键词: java 代码
下载地址: 免注册下载 普通下载 VIP

相关代码

				MD5和一个可逆加密算法相接合的加密和解密程序 
				比较简单。 
				[code={0}] 
				import java.security.MessageDigest; 
				/** 
				*先通过MD5加密之后,再来一次可逆的加密。 
				*顺序可以调整,可以选择先用可逆加密,然后再用MD5加密 
				*/ 
				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[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[i]= (char)(a[i]^'t');  
				  }      
				  String k=new String(a); 
				  return k; 
				} 
				//测试主函数 
				public static void main (String args[]){ 
				String s = new String("admin"); 
				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)))); 
				} 
				} 
				[/code] 			

相关资源