0

私は自分のアプリケーションのユーザーを作成しており、SpringsecurityMD5ハッシュエンコーダーでユーザーを保護しています。

PasswordEncoder encoder = new Md5PasswordEncoder();
String hashedPass = encoder.encodePassword(dbUser.getPassword(), null);
dbUser.setPassword(hashedPass);

したがって、「admin」は「d41d8cd98f00b204e9800998ecf8427e」になります。

これはすべて問題なくダンディですが、現在のユーザーが詳細を更新できるフォームなども作成しようとしています。

これは春の一部ではないので、MD5ハッシュのデコードについては気になりません(誰かがすでに尋ねています)。ただし、フォームに追加しようとすると、何も表示されません。

<form:password cssClass="input" placeholder="Password" path="password" />

'showPassword'属性を追加すると、MD5ハッシュがブロックされたフィールドに追加されます(たとえば、クロムの円で)が、右クリックして'ソースを表示'すると、ハッシュがそこにあります。

元の「admin」入力として正しい文字数として表示されるようにするにはどうすればよいですか?HTML5プレースホルダーは、ユーザーが毎回パスワードを再入力する必要があると考える可能性があるため機能しません。また、JavaScriptは間違いなくクリーンなオプションではありません。

どうもありがとう、

トビー

4

2 に答える 2

2

ハッシュの要点は、それを元に戻すことはできないということです。オリジナルが何であったか、そしてそれがどれくらいの長さであったかを知ることはできません。決して表示しないでください。

于 2013-03-05T13:31:09.250 に答える
1

パスワード(またはその他の機密情報)をユーザーに表示することはお勧めしません。ハッシュテキストでもプレーンテキストでもありません。UXの問題を解決するには、次のことができます。

1)パスワードの空の入力フィールドを表示する

2)パスワードをまったく表示せず、パスワードを変更するための別のリンク/メニューを用意します。

于 2013-03-05T13:56:57.777 に答える