java代码如下:/**
*签名算法及加解密算法
*Createdbyqcseaon2016/4/18.
*/
importjava.io.ByteArrayOutputStream;
importjava.io.UnsupportedEncodingException;
importjava.security.MessageDigest;
/**
*采用MD5加密解密
*
*@authorQcsea
*@datetime2016-04-06
*/
publicclassEcardEncryptUtil{
/***
*MD5加码生成32位md5码
*/
publicstaticStringmd532(StringinStr){
MessageDigestmd5=null;
try{
md5=MessageDigest.getInstance("MD5");
}catch(Exceptione){
System.out.println(e.toString());
e.printStackTrace();
return"";
}
char[]charArray=inStr.toCharArray();
byte[]byteArray=newbyte[charArray.length];
for(inti=0;i4));
sb.append(hexString.charAt((bytes&0x0f)>>0));
}
r=sb.toString();
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}
returnr;
}
/**
*将16进制数字解码成字符串,适用于所有字符(包括中文)
*/
publicstaticStringdecode(Stringbytes){
Stringr="";
try{
ByteArrayOutputStreambaos=newByteArrayOutputStream(bytes.length()/2);
//将每2位16进制整数组装成一个字节
for(inti=0;i》》。,《dkfjaskfaskdjfkdasj");
Stringmd5=md532(s);
Stringenc=encrypt(s,"g8ae541137a2aa381abaac17886653rt");
Stringdnc=decrypt(enc,"g8ae541137a2aa381abaac17886653rt");
System.out.println("原始:"+s);
System.out.println("MD5后:"+md5);
System.out.println("加密的:"+enc);
System.out.println("解密的:"+dnc);
//原始:12bvdde`这里是中文,1234@¥#%&*()-=|+_}{[]/.,;:,.>》》。,《dkfjaskfaskdjfkdasj
//MD5后:d3b18076e889f376b345450e8f3ec861
//加密的:5D5E0E1A0808090CE8BEB5E986A0E69983E4B981E697ABEFBDA05D5E5F582CEFBE894F494A46EFBDA4EFBDA54151104733111737314342405756404252E381A7E381A7E381AEEFBDA0E381A608070A060D1F070A0D1F0708060A07080D1F06
//解密的:12bvdde`这里是中文,1234@¥#%&*()-=|+_}{[]/.,;:,.>》》。,《dkfjaskfaskdjfkdasj
}
}
分 -->
|