[英]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.