AES CTR Encryption in Java under different Android Version
AES CTR Encryption in Java under different Android Version I was trying to encode a string using Cipher with "AES/CTR/PKCS5PADDING" but I got different encrypted string (different in the length of the string as well) when the same coding is used in a physical android phone (android 4.4 API 19) and virtual android device (Nexus 5X API 26) under the same keygen. The virtual android device could generate string with 32bytes but the physical one couldn't (which has the same length of the string to be encoded). Would it be the problem of cipher which is not supported for old version android? Below is the testing coding used: byte Input = "Testing123".getBytes(); byte encoded_key = Base64.decode("ABCDEFGHIJKLMNOPQABCDEFGHIJKLMNOPQABCDEFGHI", Base64.DEFAULT); SecretKey secretKey = new SecretKeySpec(encoded_key, 0, encoded_key.length, "AES"); byte iv = new byte[128 / 8]; Cipher cipher = Cipher.getInstance("AES/CTR/PKCS5PADDIN...