我需要在密钥包装模式下使用加密算法AES。是否有一些开源库或实现可以提供帮助?
重要的是,它必须是密钥包装模式。
我需要在密钥包装模式下使用加密算法AES。是否有一些开源库或实现可以提供帮助?
重要的是,它必须是密钥包装模式。
BouncyCastle支持使用AESWrapEngine
进行AES密钥封装。
您可以查看这篇StackOverflow帖子以了解更多关于BouncyCastle的示例。唯一的区别是您将指定AESWrapEngine
而不是AESEngine
。
是的,有一个名为Bouncy Castle
的库可用,您可以使用该库将您的数据加密密钥使用AES算法进行包装,在WRAP_MODE
中,下面的代码片段可能会对您有所帮助。
public static byte[] wrapKey(SecretKey key, SecretKey keyToWrap) throws GeneralSecurityException {
Cipher cipher = Cipher.getInstance("AESKW", "BCFIPS");
cipher.init(Cipher.WRAP_MODE, key);
return cipher.wrap(keyToWrap);
}
public static SecretKey unwrapKey(SecretKey key, byte[] wrappedKey) throws GeneralSecurityException {
Cipher cipher = Cipher.getInstance("AESKW", "BCFIPS");
cipher.init(Cipher.UNWRAP_MODE, key);
return (SecretKey) cipher.unwrap(wrappedKey, "AES", Cipher.SECRET_KEY);
}