避免安裝策略檔案以獲得無限的加密強度
問題:
部署使用256 位元AES 加密的應用程序,這不是最初由Java 支持,需要安裝「無限強度」JCE 策略檔案。這給最終用戶分發帶來了挑戰。
方法一:策略檔案安裝
- 安裝的 JCE 策略檔案授予必要的加密權限。
- 但是,此解決方案是由於安裝障礙,對於最終用戶分發來說不切實際。
方法二:替代加密技術庫
- 使用 Bouncy Castle 等第三方函式庫可以繞過 JCE 限制。
- 涉及額外的依賴項,重複標準功能,並且影響 TLS 加密。
基於反射的解決方案
-
Java反射提供了一種獨特的方法來繞過這些限制:
public static void removeCryptographyRestrictions() { // Use reflection to modify private JCE Security classes: Class> jceSecurity = Class.forName("javax.crypto.JceSecurity"); Field isRestrictedField = jceSecurity.getDeclaredField("isRestricted"); isRestrictedField.setAccessible(true); isRestrictedField.set(null, false); Field defaultPolicyField = jceSecurity.getDeclaredField("defaultPolicy"); defaultPolicyField.setAccessible(true); PermissionCollection defaultPolicy = (PermissionCollection) defaultPolicyField.get(null); Field permsField = Class.forName("javax.crypto.CryptoPermissions").getDeclaredField("perms"); permsField.setAccessible(true); ((Map, ?>) permsField.get(defaultPolicy)).clear(); Field instanceField = Class.forName("javax.crypto.CryptoAllPermission").getDeclaredField("INSTANCE"); instanceField.setAccessible(true); defaultPolicy.add((Permission) instanceField.get(null)); }
- 透過操作JceSecurity 變數來刪除加密限制
- 保證256 位元密碼,無需在Java 7 和 8 上安裝文件,跳過Java 9 中的程序和OpenJDK。
注意事項
- 此解決方案是特定於供應商的,可能不適用於其他 Java 實作。
- 支援 Java 7 和 8,但可以進行調整以支援具有額外複雜性的 Java 6。
- 它被認為是一種 hack,但可能不是得到 Oracle 的認可。
以上是如何在不安裝策略檔案的情況下在 Java 中啟用 256 位元 AES 加密?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
3 週前ByDDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
2 週前ByDDD
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器