Saturday, September 27, 2014

Android : Encrypt data in Android and decrypt in Ruby using AESCrypt



I'm trying to encrypt a JSON string in Android and decrypt it in Ruby using AESCrypt.



AESCrypt.decrypt(dataToDecrypt, secret)


With this Java code I could decrypt second half of the data!



MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(secret.getBytes("UTF-8"));
byte[] digest = md.digest();

SecretKeySpec newKey = new SecretKeySpec(keyBytes, "AES");
Cipher cipher = null;
cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, newKey);
byte[] encryptedData = cipher.doFinal(textBytes);

String encryptedDataStr = Base64.encodeToString(encryptedData, Base64.DEFAULT)


Raw data is:



{"device_id":"863438021956196","imei":"863438021956196"}



And decrypted data in Ruby is:



\xEE\x99\x95\xC5p\x17\x8A\xFB\xF0\xA5\xC7\x1D7\x98\xBD\xD93438021956196\",\"imei\":\"863438021956196\"}



What is the problem?


No comments:

Post a Comment