- private void initCloud(String baseurl, String password) {
- try {
- SecretKeySpec secret=getKey(password);
- Cipher encryptCipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
- encryptCipher.init(Cipher.ENCRYPT_MODE, secret);
- Cipher decryptCipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
- decryptCipher.init(Cipher.DECRYPT_MODE, secret);
- hmac = Mac.getInstance("HmacSHA256");
- hmac.init(secret);
- cloud=new CloudComm(baseurl, encryptCipher, decryptCipher, hmac);
- } catch (Exception e) {
- throw new Error("Failed To Initialize Ciphers");
- }
- }
-
- private SecretKeySpec getKey(String password) {
- try {
- PBEKeySpec keyspec = new PBEKeySpec(password.toCharArray());
- SecretKey key = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256").generateSecret(keyspec);
- SecretKeySpec secret = new SecretKeySpec(key.getEncoded(), "AES");
- return secret;
- } catch (Exception e) {
- throw new Error("Failed generating key.");
- }
- }
-