package Method; /** * ¼ÓÃÜÓë½âÃÜ */ public class MiMi{ /**Îļþ¼ÓÃÜ*/ public static String EncodePasswd(String strPasswd){ String strEncodePasswd = new String(""); int n; char code; String des = new String(); String strKey = new String(); if((strPasswd == null) || strPasswd.length() == 0){ strEncodePasswd = ""; return strEncodePasswd; } strKey = EncipherConst.m_strKey1 + EncipherConst.m_strKey2 + EncipherConst.m_strKey3 + EncipherConst.m_strKey4 + EncipherConst.m_strKey5 + EncipherConst.m_strKey6; while(strPasswd.length() < 8){ strPasswd = strPasswd + (char)1; } des = ""; for(n = 0; n <= strPasswd.length() - 1; n++){ while(true){ code = (char)Math.rint(Math.random() * 100); while((code > 0) && (((code ^ strPasswd.charAt(n)) < 0) || ((code ^ strPasswd.charAt(n)) > 90))){ code = (char)((int)code - 1); } char mid = 0; int flag; flag = code ^ strPasswd.charAt(n); if(flag > 93){ mid = 0; } else{ mid = strKey.charAt(flag); //Asc(Mid(strKey, (code Xor Asc(Mid(strPasswd, n, 1))) + 1, 1)) } if((code > 35) & (code < 122) & (code != 124) & (code != 39) & (code != 44) & (mid != 124) & (mid != 39) & (mid != 44)){ break; } //È·±£Éú³ÉµÄ×Ö·ûÊǿɼû×Ö·û²¢ÇÒÔÚSQLÓï¾äÖÐÓÐЧ } char temp = 0; temp = strKey.charAt(code ^ strPasswd.charAt(n)); des = des + (char)code + temp; } strEncodePasswd = des; return strEncodePasswd; } /**Îļþ½âÃÜ*/ public static String DecodePasswd(String varCode){ int n; String des = new String(); String strKey = new String(); if((varCode == null) || (varCode.length() == 0)){ return ""; } strKey = EncipherConst.m_strKey1 + EncipherConst.m_strKey2 + EncipherConst.m_strKey3 + EncipherConst.m_strKey4 + EncipherConst.m_strKey5 + EncipherConst.m_strKey6; if(varCode.length() % 2 == 1){ varCode = varCode + "?"; } des = ""; for(n = 0; n <= varCode.length() / 2 - 1; n++){ char b; b = varCode.charAt(n * 2); int a; a = (int)strKey.indexOf(varCode.charAt(n * 2 + 1)); des = des + (char)((int)b ^ a); } n = des.indexOf(1); if(n > 0){ return des.substring(0, n); } else{ return des; } } static class EncipherConst{ public final static String m_strKey1 = "zxcvbnm,./asdfg"; public final static String m_strKeya = "cjk;"; public final static String m_strKey2 = "hjkl;'qwertyuiop"; public final static String m_strKeyb = "cai2"; public final static String m_strKey3 = "[]\\1234567890-"; public final static String m_strKeyc = "%^@#"; public final static String m_strKey4 = "=` ZXCVBNM<>?:LKJ"; public final static String m_strKeyd = "*(N"; public final static String m_strKey5 = "HGFDSAQWERTYUI"; public final static String m_strKeye = "%^HJ"; public final static String m_strKey6 = "OP{}|+_)(*&^%$#@!~"; } }