gpt4 book ai didi

java - 使用 RSA key 加密 AES key

转载 作者:行者123 更新时间:2023-11-30 03:54:28 26 4
gpt4 key购买 nike

我已经编写了一段代码来加密 aes key 并解密它,但它似乎没有发生。为什么会这样?

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(2048);
KeyPair pair = keyGen.generateKeyPair();
PublicKey pubKey= pair.getPublic();
PrivateKey privateKey = pair.getPrivate();
Cipher c1 = Cipher.getInstance("RSA/ECB/PKCS1Padding");
c1.init(Cipher.ENCRYPT_MODE, pubKey);
KeyGenerator aesKeyGenerator = KeyGenerator.getInstance("AES");
aesKeyGenerator.init(256);
Key aesKey = rijndaelKeyGenerator.generateKey();
Cipher symmetricCipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
byte[] encodedKeyBytes = c1.doFinal(aeslKey.getEncoded());
SecretKey aesKey1 = new SecretKeySpec(encodedKeyBytes, "aes1");
Cipher dec = Cipher.getInstance("RSA/ECB/PKCS1Padding");
dec.init(Cipher.DECRYPT_MODE, privateKey);
symmetricCipher.init(Cipher.DECRYPT_MODE, aesKey1, spec);
if(aesKey.getEncoded() == dec.doFinal(c1.doFinal(aesKey.getEncoded())) )
{
// Not reaching here but is supposed to
}

最佳答案

上线:

SecretKey aesKey1 = new SecretKeySpec(encodedKeyBytes, "aes1");

您正在将静态 (RSA) 加密的 aesKey 转换为 SecretKey。此时您应该先解密 key 。 “aes1” 也不是任何已知类型的 key 。

请尝试将各种包装( key 加密)和加密语句分离到方法中,并为解包和解密制定单独的方法。只是到处乱说不会有任何结果。尝试有条理尝试解决手头的问题。

关于java - 使用 RSA key 加密 AES key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23607188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com