
public class EasyBoxWPAGen {
	public static String GENERATE_WPA_KEY (String mac){
		String wpaKey = "";
		
		mac = mac.trim();
		mac = mac.replace(":", "");
		mac = mac.replace(" ", "");
		
		
		if (mac.length() == 12){
			String C1 = ""+ Integer.parseInt(mac.substring(8), 16);
			
			while (C1.length() < 5) C1 = 0+C1;
			
			
			char S6 = C1.charAt(0);
			char S7 = C1.charAt(1);
			char S8 = C1.charAt(2);
			char S9 = C1.charAt(3);
			char S10 = C1.charAt(4);
			
			char M7 = mac.charAt(6);
			char M8 = mac.charAt(7);
			char M9 = mac.charAt(8);
			char M10 = mac.charAt(9);
			char M11 = mac.charAt(10);
			char M12 = mac.charAt(11);
			
			
			String tmpK1 = Integer.toHexString(Character.digit(S7, 16) + Character.digit(S8, 16) + Character.digit(M11, 16) + Character.digit(M12, 16));
			String tmpK2 = Integer.toHexString(Character.digit(M9, 16) + Character.digit(M10, 16) + Character.digit(S9, 16) + Character.digit(S10, 16));
			
			char K1 = tmpK1.charAt(tmpK1.length() -1);
			char K2 = tmpK2.charAt(tmpK2.length() -1);
			
			
			String X1 = Integer.toHexString(Character.digit(K1, 16) ^ Character.digit(S10, 16));
			String X2 = Integer.toHexString(Character.digit(K1, 16) ^ Character.digit(S9, 16));
			String X3 = Integer.toHexString(Character.digit(K1, 16) ^ Character.digit(S8, 16));
			String Y1 = Integer.toHexString(Character.digit(K2, 16) ^ Character.digit(M10, 16));
			String Y2 = Integer.toHexString(Character.digit(K2, 16) ^ Character.digit(M11, 16));
			String Y3 = Integer.toHexString(Character.digit(K2, 16) ^ Character.digit(M12, 16));
			String Z1 = Integer.toHexString(Character.digit(M11, 16) ^ Character.digit(S10, 16));
			String Z2 = Integer.toHexString(Character.digit(M12, 16) ^ Character.digit(S9, 16));
			String Z3 = Integer.toHexString(Character.digit(K1, 16) ^ Character.digit(K2, 16));
			
			
			wpaKey = X1+Y1+Z1+X2+Y2+Z2+X3+Y3+Z3;
			System.out.println("WPA-KEY: "+ wpaKey);
			
		} else {
			System.out.println("Error: MAC-Address must have 12 digits!");
		}
		
		return wpaKey;
	}
	
	
}
