データベースのsha1関数を使用して保存したいフィールドがテーブルにあります。電話をかけるときにsha1を使用してパスワードフィールドを保存するようにアノテーションを使用してHibernateを構成するにはどうすればよいですか?
session.save(User);
データベースのsha1関数を使用して保存したいフィールドがテーブルにあります。電話をかけるときにsha1を使用してパスワードフィールドを保存するようにアノテーションを使用してHibernateを構成するにはどうすればよいですか?
session.save(User);
Hibernateにはそのような注釈はありません。JPAを使用している場合は、@ PrePersistメソッドを定義して、ユーザーオブジェクトを保存する前にSHA-1パスワードを計算できます。通常のHibernateを使用している場合は、エンティティリスナーでも同じことができます。
ただし、コード内でパスワードのハッシュを明示的に処理することをお勧めします。これにより、パスワードのハッシュがいつ、どのように行われるかが常に明確になります。ハッシュ関数をDBまでプッシュすることも可能ですが、すべてのオプションの中で、おそらく最も好ましくないオプションです。
パスワードをハッシュする前に、パスワードをソルトすることを忘れないでください!