我正在尝试使用“PBEWithHmacSHA256AndAES_256”标准制定正确的过程来加密和解密文件。
从我从 Oracle 的这个示例代码中了解到。
我收集到需要一个盐,以及一个迭代计数和哈希标准。
所以我有我的主要方法,传入加密方法:
new String(key).toCharArray()作为字节数组(使用此方法进行其他加密运行)initVector作为字节数组的安全随机 IVinputFile作为字符串outputFile作为字符串我已经按照代码示例编写了我认为对加密方法正确的内容。我通过将它们附加到密文来存储用于解密的盐和 IV。
private static void encrypt(byte[] key, byte[] initVector, String inputFile, String outputFile) //exceptions for throws... {
//Initalisation for encryption
Cipher cipher;
byte[] salt = new byte[16];
SecureRandom rand = new SecureRandom();
// Salt randomly generated with base64
rand.nextBytes(salt);
System.out.println("my salt should be" + Base64.getEncoder().encodeToString(salt));
salt = Base64.getEncoder().encode(salt);
// Iteration count
int count = 1000;
IvParameterSpec iv = new …Run Code Online (Sandbox Code Playgroud)