- package net.sf.andhsli.hotspotlogin; 
-   
- import java.security.SecureRandom; 
-   
- import javax.crypto.Cipher; 
- import javax.crypto.KeyGenerator; 
- import javax.crypto.SecretKey; 
- import javax.crypto.spec.SecretKeySpec; 
-   
- /** download from http://www.sharejs.com 
-  * Usage: 
-  * <pre> 
-  * String crypto = SimpleCrypto.encrypt(masterpassword, cleartext) 
-  * ... 
-  * String cleartext = SimpleCrypto.decrypt(masterpassword, crypto) 
-  * </pre> 
-  * @author ferenc.hechler 
-  */ 
- public class SimpleCrypto { 
-   
-                 byte[] rawKey = getRawKey(seed.getBytes()); 
-                 byte[] result = encrypt(rawKey, cleartext.getBytes()); 
-                 return toHex(result); 
-         } 
-          
-                 byte[] rawKey = getRawKey(seed.getBytes()); 
-                 byte[] enc = toByte(encrypted); 
-                 byte[] result = decrypt(rawKey, enc); 
-         } 
-   
-         private static byte[]-  getRawKey (byte[]-  seed ) throws Exception {
 
-                 KeyGenerator kgen = KeyGenerator.getInstance("AES"); 
-                 sr.setSeed(seed); 
-             kgen.init(128, sr); // 192 and 256 bits may not be available 
-             SecretKey skey = kgen.generateKey(); 
-             byte[] raw = skey.getEncoded(); 
-             return raw; 
-         } 
-   
-          
-         private static byte[]-  encrypt (byte[]-  raw,  byte[]-  clear ) throws Exception {
 
-             SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); 
-                 Cipher cipher = Cipher.getInstance("AES"); 
-             cipher.init(Cipher.ENCRYPT_MODE, skeySpec); 
-             byte[] encrypted = cipher.doFinal(clear); 
-                 return encrypted; 
-         } 
-   
-         private static byte[]-  decrypt (byte[]-  raw,  byte[]-  encrypted ) throws Exception {
 
-             SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); 
-                 Cipher cipher = Cipher.getInstance("AES"); 
-             cipher.init(Cipher.DECRYPT_MODE, skeySpec); 
-             byte[] decrypted = cipher.doFinal(encrypted); 
-                 return decrypted; 
-         } 
-   
-                 return toHex(txt.getBytes()); 
-         } 
-                 return new String(- toByte (- hex ));
 
-         } 
-          
-         public static byte[]-  toByte (String-  hexString ) {
 
-                 int len = hexString.length()/2; 
-                 byte[] result = new byte[len]; 
-                 for (int i = 0; i < len; i++) 
-                         result [- i ] = Integer- . valueOf(- hexString. substring(2*- i,  2*- i +2)- ,  16)- . byteValue();
-                 return result; 
-         } 
-   
-         public static String-  toHex (byte[]-  buf ) {
 
-                 if (buf == null) 
-                         return ""; 
-                 for (int i = 0; i < buf.length; i++) { 
-                         appendHex(result, buf[i]); 
-                 } 
-                 return result.toString(); 
-         } 
-         private final static String-  HEX  = "0123456789ABCDEF";
 
-                 sb.append(HEX.charAt((b>>4)&0x0f)).append(HEX.charAt(b&0x0f)); 
-         } 
-          
- } 
-   
-   
- //java/8700