私はGrailsドメインクラスの特定の列を暗号化/復号化することが可能かどうか疑問に思っていたデータセキュリティを導入したいのですが、もしそうなら、最も簡単な方法は何ですか?Grailsドメインクラスの列を暗号化/復号化する方法は?
私はUserクラスを持っていて、ssn番号または銀行口座番号を暗号化したいので、DBにプレーンテキストとして格納されていません。何が最善のアプローチですか?
私はGrailsドメインクラスの特定の列を暗号化/復号化することが可能かどうか疑問に思っていたデータセキュリティを導入したいのですが、もしそうなら、最も簡単な方法は何ですか?Grailsドメインクラスの列を暗号化/復号化する方法は?
私はUserクラスを持っていて、ssn番号または銀行口座番号を暗号化したいので、DBにプレーンテキストとして格納されていません。何が最善のアプローチですか?
私はこれを正確に行うためにjasypt encryption pluginを作成しました。ドキュメントはリンクされたbitbucket wikiにあり、その上に私が与えたslides from a presentationもあります。
保護するフィールド(デフォルトではBouncy Castle AES暗号化プロバイダ)でフィールドレベルの暗号化を行うために、ドメインクラスに注釈を付けるのが簡単です。
ドメインプロパティのget/setメソッドをオーバーライドして、暗号化して復号化します。適切な暗号アルゴリズムを選択するだけで済みます。明らかに、双方向のものを選択してください。
Hibernateユーザタイプは、ストレージの別のフォーマットと変換して、そのカラムを透過的に暗号化することができます。
次はgrailsの簡単な実装です:http://www.redtoad.ca/ataylor/2011/12/encrypting-a-database-column-in-grails/
クラスログイン{
String userId
String password
静的マッピング= {
userId type: GormEncryptedStringType
password type: GormEncryptedStringType
}
} ここで続きを読む: - http://www.slideshare.net/tednaleid/grails-jasypt-encryption-plugin
を、それはもう少し複雑だ...それはまた、休止状態と思われますgetterとsetterを使用するため、暗号化されていないデータが書き込まれます。しかし、シャドウプロパティを作成した場合(それが一時的であることを確認してください)、それは非常にうまくいきます! – rdmueller
シャドウプロパティーとはどういう意味ですか? – Marco