Java Crypto 尝试加密文件

时间:2021-02-17 16:46:45

标签: java encryption aes

我正在尝试加密一个名为“AES.KEY”的文件。我不太确定我做错了什么。我必须使用 AES 密钥(我创建的)加密文件,然后将其存储在文件“AES.KEY”中

当我运行我的代码时,我收到以下错误消息:

<块引用>

线程“main”中的异常java.security.NoSuchAlgorithmException:找不到任何提供者 支持 acYb01wFX3pFk1xkouoCqFc6t9BBelPHgRnKXhQCnKo= 在 java.base/javax.crypto.Cipher.getInstance(Cipher.java:571) 在 WannaCry.encryptKeyFile(WannaCry.java:89) 在 WannaCry.main(WannaCry.java:84)

我的问题是我要用 RSA 公钥加密这个密钥,它是变量 注意:

  • 可变密钥 = 我的 AES 密钥 这是我的程序代码

    ///CODE ABOVE
       IvParameterSpec iv =  generateIv();
       EncryptFile(skey, iv, file);
        //CREATE AES.Key file
       File file2 =  createKeyFile("aes.key");
        encryptKeyFile(skey, pubKey, file2, iv);
        }
    private static void encryptKeyFile(SecretKey sk, PublicKey pubKey, File file, 
       IvParameterSpec iv) {
      String encodedKey = Base64.getEncoder().encodeToString(sk.getEncoded());
      byte[] b = encodedKey.getBytes();
      Cipher cipher = Cipher.getInstance(encodedKey);
      cipher.init(Cipher.ENCRYPT_MODE, pubKey, iv);
      byte[] cipherText = cipher.doFinal(b);
      FileOutputStream fos = new FileOutputStream(file);
        fos.write(cipherText);
        fos.close();
       }
    

我做错了什么?如果有人知道,我将不胜感激。 杰夫干杯

0 个答案:

没有答案
相关问题