小编CHO*_*OCK的帖子

如何使用从密码派生的密钥正确加密和解​​密文件

我正在尝试使用“PBEWithHmacSHA256AndAES_256”标准制定正确的过程来加密和解密文件。

从我从 Oracle 的这个示例代码中了解到。

我收集到需要一个盐,以及一个迭代计数和哈希标准。

所以我有我的主要方法,传入加密方法:

  1. 用户定义的密码new String(key).toCharArray()作为字节数组(使用此方法进行其他加密运行)
  2. initVector作为字节数组的安全随机 IV
  3. 纯文本文件inputFile作为字符串
  4. 要创建的密文文件的名称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)

java encryption jce salt

4
推荐指数
1
解决办法
406
查看次数

标签 统计

encryption ×1

java ×1

jce ×1

salt ×1