我有一个 48 个字符的AES-192
加密密钥,我用它来解密一个加密的数据库。
但是,它告诉我密钥长度无效,所以我记录了 getBytes() 的结果。
当我执行时:
final String string = "346a23652a46392b4d73257c67317e352e3372482177652c";
final byte[] utf32Bytes = string.getBytes("UTF-32");
System.out.println(utf32Bytes.length);
在我的 mac(Java 虚拟机)上使用 BlueJ,我得到192
了输出。
但是,当我使用:
Log.d(C.TAG, "Key Length: " + String.valueOf("346a23652a46392b4d73257c67317e352e3372482177652c".getBytes("UTF-32").length));
我得到196
作为输出。
有谁知道为什么会发生这种情况,以及 Dalvik 从哪里获得额外的 4 个字节?