0

データベースのsha1関数を使用して保存したいフィールドがテーブルにあります。電話をかけるときにsha1を使用してパスワードフィールドを保存するようにアノテーションを使用してHibernateを構成するにはどうすればよいですか?

session.save(User);

4

1 に答える 1

1

Hibernateにはそのような注釈はありません。JPAを使用している場合は、@ PrePersistメソッドを定義して、ユーザーオブジェクトを保存する前にSHA-1パスワードを計算できます。通常のHibernateを使用している場合は、エンティティリスナーでも同じことができます。

ただし、コード内でパスワードのハッシュを明示的に処理することをお勧めします。これにより、パスワードのハッシュがいつ、どのように行われるかが常に明確になります。ハッシュ関数をDBまでプッシュすることも可能ですが、すべてのオプションの中で、おそらく最も好ましくないオプションです。

パスワードをハッシュする前に、パスワードをソルトすることを忘れないでください!

于 2012-05-23T11:53:35.760 に答える