如何将密文和IV(分组密码操作模式,例如AES-GCM)存储在文件中?如果我用对应于“:”字符的字节将它们分开,那么在读取它时,我必须将整个字节数组转换为字符串,然后将字符串拆分为由“:”分隔的块,然后再次将块转换为字节数组。有没有更简单的方法?也许一个我们确定不能作为 AES 加密和初始化向量的结果出现的字节?
当前代码(在 Java 中)是后续代码,但我不确定它是否是执行我所要求的最佳方法,即使它有效,因为我不知道表示“:”的字节是否可以出现在IV 或密文。
FileInputStream keyfis = new FileInputStream("test");
byte[] byteRead = new byte[keyfis.available()];
keyfis.read(byteRead);
keyfis.close();
String textRead=new String(byteRead);
String[] parts = textRead.split(":");
byte[] encrAESkey=parts[0].getBytes();
byte[] myIV=parts[1].getBytes();
byte[] myencrtext=parts[2].getBytes();