pxewb.com
无盘技术经验分享站点

Pubwin 2009 加密算法会员信息加密解密

Pubwin2009加密算法

后台帐号加密(MD5+BASE64):4QrcOUm6Wau+VuBX8g+IPg==
会员密码加密:123456=ETLCw4cN
会员密码解密:ETLCw4cN=123456
身份证加密(PBEWithMD5AndDES)|360121198211074225=tcbytr9F0RCdGJ+iekWQoozjHy9K5SxN
身份证解密(PBEWithMD5AndDES)|tcbytr9F0RCdGJ+iekWQoozjHy9K5SxN=360121198211074225
//URL Hintsoft\PubwinServer\appServ\server\webapps\NetCafe\WEB-INF\conf\db.properties
Z/bMl65Pmbt+os5f5lTJ+ZAjEAGsPw\=\=数据库解密:pubwin

//07
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;

//09
import java.security.MessageDigest;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;

//BASE64
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class pubwin2009
{

// key1 姓名身份证加解密 07/09
public static String Rcode(String message,int type)throws Exception
{
//String Key=”123!@#qweQWE/.,?><abc”; //07
String Key=”q1!2@3#we>WacE/.Q,?<b”; //09
byte _fldint[] = { -87, -101, -56, 50, 86, 53, -29, 3};
byte bytesrc[];
if (type==1)
bytesrc =message.getBytes(“UTF8″);
else
bytesrc =(new BASE64Decoder()).decodeBuffer(message);
PBEParameterSpec pbeparameterspec = new PBEParameterSpec(_fldint,19);
PBEKeySpec pbekeyspec = new PBEKeySpec(Key.toCharArray());
SecretKeyFactory secretkeyfactory = SecretKeyFactory.getInstance(“PBEWithMD5AndDES”);
javax.crypto.SecretKey secretkey = secretkeyfactory.generateSecret(pbekeyspec);
Cipher cipher = Cipher.getInstance(“PBEWithMD5AndDES”);
cipher.init(type, secretkey, pbeparameterspec);
byte[] retByte = cipher.doFinal(bytesrc);
if (type==1)
return new BASE64Encoder().encode(retByte);
else
return new String(retByte,”UTF8″);

}
//09会员密码 db.properties 加解密
public static String decrypt(String message,int type) throws Exception {
String keye = “hi%$so78″; //MD5
String keyb = “12up56^&”; //IvParameterSpec
byte bytesrc[];
if (type==1)
bytesrc =message.getBytes();
else
bytesrc =(new BASE64Decoder()).decodeBuffer(message);
MessageDigest md5 = MessageDigest.getInstance(“MD5″);
md5.update(keye.getBytes());
DESKeySpec desKeySpec = new DESKeySpec(md5.digest());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(“DES”);
SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
IvParameterSpec iv = new IvParameterSpec(keyb.getBytes(“UTF-8″));
Cipher cipher = Cipher.getInstance(“DES/CBC/PKCS5Padding”);
cipher.init(type, secretKey, iv);
byte[] retByte = cipher.doFinal(bytesrc);
if (type==1)
return new BASE64Encoder().encode(retByte);
else
return new String(retByte);
}

public static void main(String args[]) throws Exception
{
System.out.println( “\n姓名身份证加密:这是一个测试 -> ” +Rcode(“这是一个测试”,1));
System.out.println( “姓名身份证解密:09IdjpQQAPgniEaO/skp9gy8+LkD42fZ -> ” +Rcode(“09IdjpQQAPgniEaO/skp9gy8+LkD42fZ”,2)+”\n”);

System.out.println( “09会员密码加解:123456 -> ” +decrypt(“123456″,1));
System.out.println( “09会员密码解密:OEnU8DEcgsE= -> ” +decrypt(“OEnU8DEcgsE=”,2));

System.exit(0);
}
}

转载请注明出处无盘技术-经验分享站点 » Pubwin 2009 加密算法会员信息加密解密

分享到:

评论 1