Android examples for java.util:Properties
Read Password using private key from Properties File
import java.io.File; import java.io.FileInputStream; import java.security.Key; import java.security.spec.AlgorithmParameterSpec; import java.util.Properties; import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; import javax.crypto.spec.IvParameterSpec; public class Main { public static final String filePath = "cookie.prop"; public static final String PRIVATEKEY = "asdffass"; public static final String ALGORITHM_DES = "DES/CBC/PKCS5Padding"; public static final String KEY2 = "password"; public static String getPwd() { return decode(PRIVATEKEY, getProperty(KEY2)); }/* w w w . ja v a2s . co m*/ public static String decode(String key, String data) { if (data == null) return null; try { DESKeySpec dks = new DESKeySpec(key.getBytes()); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); Key secretKey = keyFactory.generateSecret(dks); Cipher cipher = Cipher.getInstance(ALGORITHM_DES); IvParameterSpec iv = new IvParameterSpec("12345678".getBytes()); AlgorithmParameterSpec paramSpec = iv; cipher.init(Cipher.DECRYPT_MODE, secretKey, paramSpec); return new String(cipher.doFinal(hex2byte(data.getBytes()))); } catch (Exception e) { e.printStackTrace(); return data; } } public static String getProperty(String key) { Properties props = get(); return (props != null) ? props.getProperty(key) : null; } private static byte[] hex2byte(byte[] b) { if ((b.length % 2) != 0) throw new IllegalArgumentException(); byte[] b2 = new byte[b.length / 2]; for (int n = 0; n < b.length; n += 2) { String item = new String(b, n, 2); b2[n / 2] = (byte) Integer.parseInt(item, 16); } return b2; } public static Properties get() { FileInputStream fis = null; Properties props = new Properties(); try { File Conf = new File(filePath); if (!Conf.exists()) { Conf.createNewFile(); } fis = new FileInputStream(Conf); props.load(fis); } catch (Exception e) { } finally { try { fis.close(); } catch (Exception e) { } } return props; } }