Java-byte[]和String互转长度不符问题

其实就是编码格式的问题

这样转化就不会出错

1
2
3
4
5
6
7
8
9
SecureRandom srandom = new SecureRandom();
byte[] iv = new byte[128/8];
srandom.nextBytes(iv);

String ivs = new String(iv, "ISO8859-1");
iv = ivs.getBytes("ISO8859-1");
System.out.println(iv.length);
System.exit(1);
IvParameterSpec ivspec = new IvParameterSpec(iv);