問題タブ [jasypt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - jasypt EncryptablePropertyPlaceholderConfigurer の末尾のスペースを削除
application.properties ファイルを読み取るために、Spring と jasypt を使用してEncryptablePropertyPlaceholderConfigurer
います。
一部のプロパティ値の末尾に空白が含まれていると、問題が発生することがあります。@Value(${})
タグを使用して値を読み取ると、最後に末尾のスペースも取得され、問題が発生します。
現在、クラスEncryptablePropertyPlaceholderConfigurer
は最終的なものであるため、拡張できません。文字列値の周りの空白をトリミングした後にプロパティを取得する方法があるかどうかを調べるために、多くのことを検索しました。
このシナリオの処理方法を提案できる人はいますか?
mysql - Grails Jasypt プラグイン 列の最大サイズは、常に mysql のテキストではなく varchar を作成します
暗号化された列のサイズを大きくしようとしています
テキスト型として必要な間、常にvarchar(255)
MySQLで a を生成します。追加しようとしましたが、テキストの代わりにmaxSize:65000
作成されます。varchar(65000)
このフィールドには多くのデータを含めることができ、理想的にはフィールドにしたいと思いLONGTEXT
ます。
他の暗号化されていないフィールドについては、正常に使用されtype:'text'
、機能しましたが、これは暗号化されたフィールドであり、別のタイプを追加できないため、困惑しています。
どんな助けでも大歓迎です。
java - 暗号化ポリシー jar を置き換えた後でも SecurityException が発生する
Jasypt 暗号化ライブラリのいくつかを使用してプロジェクトをセットアップしました。コードを実行しようとすると、最初の暗号化操作で次のエラーがスローされます。
しばらく調査した結果、JCE 暗号化ポリシー ファイルを置き換える必要があることが明らかになりました。このリンクから jce7 zip をダウンロードしました: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
そのファイルを解凍し、2 つの jar ファイルを C:\Program Files (x86)\Java\jre7\lib\security にコピーしました。
前述の jre7 ディレクトリと同じレベルに jre6 ディレクトリもあります。最初の試みがうまくいかなかった後、同じポリシーファイルを jre6 ディレクトリにもコピーしようとしました。また、jre6固有のjarをそのディレクトリにコピーしようとしましたが、うまくいきませんでした。
編集: Java 1.7.0_40 を実行しています
どんな助けでも大歓迎です。ありがとう!
java - Java プラットフォームに依存しない暗号化
現在、Web アプリケーションに Jasypt を使用しています。正常に動作しますが、ホストされているサーバーによって暗号化が異なります。
このため、ライブ DB のデータを取得して、開発環境でのデバッグに使用することはできません。あれば便利だけど、なくても生きていける。
私が心配しているのは、現在ホスティングプロバイダーを使用していることです. これまでのところすべて問題ありませんが、ある時点でサーバーを交換したり、アプリケーションを別のサーバーに移動したりした場合、暗号化されたデータ (ログイン用の電子メールやパスワードなど) が暗号化されないのではないかと心配しています。すべてのデータが使用できなくなります。
プラットフォームに依存しないJasyptの代替手段を知っている人はいますか?
または、Jasypt 自体をプラットフォームに依存しないようにする方法はありますか?
ありがとう、ダン
PS:文字列暗号化(可逆)、パスワード暗号化(可逆ではないが同等)、および「SHA-1」暗号化という基本的な機能を備えた方法が必要です。最後の段落の用語が正しくない場合は申し訳ありませんが、私は暗号化の専門家ではありません。
ありがとう!
コード、結果、および例外を追加するために編集されました。
開発環境でこれを生成します:
毎回出力は異なりますが、文字列を復号化し、次のようにしてパスワードを比較することができます。
次の出力が得られます。
これは、私が作成した暗号化ユーティリティ クラスです。
LIVE環境でも同じことが私にこれを与えます:
文字列を復号化してパスワードを確認しようとすると、次のようになります。
LIVE から取得した文字列 (上記のもの) を使用した結果は、次のようになります。
テスト文字列 false
今回は、文字列の暗号化は機能しますが (以前は機能していませんでした。正直に言うと、少し驚き、混乱しています)、パスワードは機能しません。
新しい編集 - 一部の文字列は、暗号化すると == で終わります。末尾に「==」がない文字列は、システム間で復号化できます。動作しないもの。ひょっとしてこれがヒントになるかも?
hibernate - spring mvc を使用してオブジェクトの ID を暗号化および復号化する方法
次のような問題があります-このようなフォームを持つjspページRegister.jspがあります-
ご覧のとおり、jsp で国と州の ID を暗号化しています。この要求を処理するコントローラー メソッドは次のようになります。
ユーザー Bean には、オブジェクト Country クラスを参照する country というプロパティがあります。これが私の国クラスです。
フォームを送信した後、このエラーが発生します -
タイプ java.lang.String のプロパティ値をプロパティ city.state.country.id の必要なタイプ java.lang.Integer に変換できませんでした。ネストされた例外は java.lang.NumberFormatException: For input string: "204169936916065690991063869295677385346323054608"
問題は明らかですが、国のIDは整数ですが、暗号化後のオプションの値は文字列であり、整数にキャストできません。そのため、コントローラーまたは Bean に、定義されたメソッドを使用してこの値を復号化するように指示する方法はありますか。これは、検証前に文字列パラメーターを取り、整数を返します。
java - WebPBEConfigServletを使用したjasypt Web構成 - パスワードはどこに保存されていますか?
http://jasypt.org/webconfiguration.htmlの Jasypt 構成ドキュメントには、次のように記載されています。
このサーブレットの URL は、すべての PBE エンクリプターのパスワードを設定するために、デプロイ時に webapp 管理者によって呼び出される必要があります...
以下は、ドキュメントから私には明らかではありません。
1) Web アプリから入力したパスワードはどこに保存されますか? それらはメモリに保存されていますか、それとも別の場所に保存されていますか?
2)アプリをデプロイするときだけパスワードを入力する必要がありますか? アプリケーション サーバー (または JVM) が再起動された場合、パスワードを再入力する必要がありますか?
3) 複数の Web アプリで jasypt 構成を共有することは可能ですか? アプリケーション サーバー/JVM の再起動時にパスワードを再入力する必要があり、多くのアプリケーションをデプロイしている場合、アプリケーションのデプロイ担当者はパスワードを何度も再入力する必要があることを好みません。
grails - 単純な文字列の暗号化と復号化のために、GORM レイヤーの外部で Grails Jasypt プラグインを使用することは可能ですか?
優れた JASYPT プラグインを使用して、特定のデータベース列を暗号化および復号化します。よく働く。しかし、データベースに送信されない単純な文字列の暗号化/復号化のユースケースがあり、別のプラグインまたは暗号化構成を持ち込むのではなく、既にセットアップされている Jasypt 構成を自分のシークレットとダイジェストで使用したいと考えています。 、しかし、ドキュメントはGORMおよびドメインクラスでの使用方法のみを示しているようです。
https://bitbucket.org/tednaleid/grails-jasypt/wiki/Home
理想的には、このように物事を本当にシンプルに保ちます
可能?