2

パスワードをプレーンテキストで保存するレガシーアプリケーションを使用しています。アプリケーションをSpring3mvc+securityに移植しました。また、sha256 +ユーザー名に基づくソルトを使用して、認証と承認を処理するSpringセキュリティを正常に取得しました。これはすべてうまく機能しますが、展開の一環として、新しいパスワードスキーマを使用するために既存のデータベースを移行する必要があります。Spring Securityがソルトを使用したパスワードハッシュをどのように行うのかわからないため、古いプレーンテキストのパスワードを新しいsha256+saltスキーマに移行するために使用できるSQLスクリプトを作成できません。これを理解するために使用できるドキュメントやリソースはありますか?

4

2 に答える 2

9

これはに文書化されていBasePasswordEncoderます:

生成されるパスワードは、の形式になりpassword{salt}ます。

したがって、あなたの場合、この単純なコードを使用してソルトされたパスワードを計算できます。

new ShaPasswordEncoder(256).encodePassword(oldPassword, randomSalt)

注:ShaPasswordEncoderextends BasePasswordEncoder

于 2012-01-24T19:56:31.050 に答える
0
  1. デフォルトのパスワードエンコードを使用している場合は、ソースが役立つようです。(使用しているバージョンに適したブランチを選択してください)。
  2. 独自のPasswordEncoderを実装し、saltの使用方法を定義できます。
于 2012-01-24T19:51:45.330 に答える