⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 md5和一个可逆加密算法相接合的加密和解密程序 .txt

📁 java开发中经常用到的代码
💻 TXT
字号:
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.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("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] 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -