package com.vci.common.utility; /** *
Title:
*Description: generantor guid which length is 20.
*/ public final class RandomGUID20 { public RandomGUID20() { puidVectorInt = new int[9]; } public String getNewObjectID(String strToken) { String puid = ""; String lastID = ""; String nameID = ""; byte nameb[] = strToken.getBytes(); int namelength = nameb.length; int namei[] = new int[nameb.length]; for(int i = 0; i < nameb.length; i++) namei[i] = Math.abs(nameb[i]); String first = puidVector[namei[0] - 52 * (namei[0] / 52)]; if(namelength == 1) { nameID = first + first + first + first; } else { String second = puidVector[namei[namelength / 2] - 52 * (namei[namelength / 2] / 52)]; String end = puidVector[namei[namelength - 2] - 52 * (namei[namelength - 2] / 52)] + puidVector[namei[namelength - 1] - 52 * (namei[namelength - 1] / 52)]; nameID = first + second + end; } int randomnumber = (int)(Math.random() * 14000000D); int lastnumber = randomnumber - (randomnumber / 62) * 62; lastID = lastID + puidVector[lastnumber]; randomnumber /= 62; lastnumber = randomnumber - (randomnumber / 62) * 62; lastID = lastID + puidVector[lastnumber]; randomnumber /= 62; lastnumber = randomnumber - (randomnumber / 62) * 62; lastID = lastID + puidVector[lastnumber]; lastnumber = randomnumber / 62; lastID = lastID + puidVector[lastnumber]; long currentDate = System.currentTimeMillis(); result = currentDate; for(int i = 0; result > 0L; i++) { remainder = result - (result / 62L) * 62L; puidVectorInt[i] = (int)remainder; result /= 62L; } for(int j = 0; j < 7; j++) { int n = puidVectorInt[j]; puid = puid + puidVector[n]; } puid = nameID + puid + lastID; return puid; } public String CountPassWord(String PassWord) { String newPassWord = ""; if(PassWord.equals("")) { newPassWord = "aaaaaaaaaaaaaaa"; return newPassWord; } int n = PassWord.length(); int firstnumber[] = { 23, 47, 34, 26, 25, 67, 98, 87, 76, 58, 75, 65, 35, 25, 45 }; char changepass[] = new char[15]; int changepassnum[] = new int[15]; char pass[] = new char[n]; int passnumber[] = new int[n]; pass = PassWord.toCharArray(); for(int i = 0; i < n; i++) passnumber[i] = (pass[i] + n) - i; for(int j = 0; j < 15; j++) changepassnum[j] = passnumber[j - (j / n) * n]; int passwordnumber[] = new int[15]; for(int i = 0; i < 15; i++) { int middlenumber = changepassnum[i]; middlenumber = (int)Math.pow(middlenumber - 15, 3D); middlenumber *= firstnumber[i]; passwordnumber[i] = (middlenumber - (middlenumber / 94) * 94) + 33; if(passwordnumber[i] == 39) passwordnumber[i] = 40; changepass[i] = (char)passwordnumber[i]; newPassWord = newPassWord + changepass[i]; } return newPassWord; } private boolean isAscii(String utf) { byte temp[] = utf.getBytes(); return temp.length == utf.length(); } public String getAscii(String utf) { if(isAscii(utf)) return utf; String asc = ""; try { byte nameb[] = utf.getBytes(); for(int i = 0; i <= nameb.length - 1; i++) { int temp = Math.abs(nameb[i]); asc = asc + puidVector[temp - 52 * (temp / 52)]; } return asc; } catch(Exception exception) { return asc; } } private String puidVector[] = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }; private int puidVectorInt[]; private long remainder; private long result; }