簡體   English   中英

使用BouncyCastle輕量級API進行AES-256加密

[英]AES-256 encryption with BouncyCastle Lightweight API

我使用Java的內置加密庫編寫了一些(功能)AES加密代碼,如下所示,但我想使用256位密鑰。 但是,我想在沒有用戶安裝到Unlimited Strength Cryptography Policy文件的情況下執行此操作。

現在,我聽說使用BouncyCastle輕量級API可以讓我這樣做,但不幸的是我遇到了很多困難,我很難適應任何有助於我的文檔。

這是我當前的代碼,其中'content'是要加密的字節數組:

KeyGenerator kgen = KeyGenerator.getInstance("AES");
int keySize = 128;
kgen.init(keySize);
SecretKey key = kgen.generateKey();
byte[] aesKey = key.getEncoded();
SecretKeySpec aesKeySpec = new SecretKeySpec(aesKey, "AES");
Cipher aesCipher = Cipher.getInstance("AES");
aesCipher.init(Cipher.ENCRYPT_MODE, aesKeySpec);
byte[] encryptedContent = aesCipher.doFinal(content);

我將如何使用BouncyCastle輕量級API重新實現此功能? 任何人都可以幫助我和/或指向一些簡單的示例代碼的方向嗎?

我也對其他任何允許256位密鑰AES加密的解決方案感興趣,而無需用戶安裝無限強度策略文件。

非常感謝!

這個問題和答案是一個有用的起點。

帶有Bouncy Castle的256位AES / CBC / PKCS5Padding

下一個要查看的最佳位置是LW API的測試代碼,然后是JCE提供程序代碼。 JCE提供程序代碼是LW庫的包裝器 - 因此,如果您想知道如何執行它,那么這是查看它的最佳位置。

通過JCE提供程序代碼,我的意思是BC實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM