jasyptをテストする時、ヒントはJCE拡張パッケージをインストールしていないで、1つのjce_をダウンロードしましたpolicy-1_5_0、解決
1454 ワード
今日は自分のアプリケーションデータベース接続に暗号化機能を追加したいと思って、ネット上の投稿を探して、jasyptをテストしたいと思って、hibernateフレームワークをサポートすると聞きました.
まずネット上の例を参考にして、暗号化と復号化のテスト例を書きました.
突然、復号化BasicTextEncryptorが正常であることがわかりました.
しかし、StrongTextEncryptorを復号すると、jceが欠けていることをヒントにしますか?
次のようになります.
Javaプログラムの実行中に次の異常が発生しました.
Encryption raised an exception. A possible cause is you are using strong encryption algorithms and you have not installed the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files in this Java Virtual Machine
その後、資料を調べたところ、JDKには制限があることが分かった.ネット上では以下のように説明されている.
JavaはJCEの出口に制限があります.jrelibsecurityディレクトリの下のlocal_policy.JArとUS_export_policy.JArという2つのファイルは重要な役割を果たしています.通常、私たちがダウンロードしたjdkがインストールされた後、この2つのファイルは2.4 k程度で、実際にJCEの制限がないのは5 k程度であるべきです.(私がダウンロードしても2.4 K程度)http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPRページの一番下にダウンロードオプションがあり、拡張型のJCEパッケージをダウンロードできます.
私はjdk 5を使っているので、ダウンロードした5.0バージョンです.
ダウンロードしたら、ローカルのjdkをバックアップしてlocal_に置き換えましたpolicy.JArとUS_export_policy.jar
正直、私がダウンロードしたのも2.4 Kくらいで、ネットで言われている5 Kはありませんでしたが、置き換えて、普通に使えるようになりました
添付ファイルは私がダウンロードしたバッグです.