私は Tomcat 6 を使用しており、現在、MySql データベースでクリア テキスト パスワードとして機能するフォーム認証を使用しています。SHA-256 でパスワードをハッシュするためにパスワードに暗号化を追加しましたが、動作しているように見えますが、server.xml で digest="SHA-256" および digestEncoding="base64" を使用して Tomcat 6 経由で認証しようとすると、認証しません。データベースからパスワードをコピーしてパスワード フィールドに入力すると、ユーザーを認証できます。
Tomcat で通常のパスワードを使用してユーザーを認証できるようにするにはどうすればよいですか?
アプリケーションに追加したハッシュ コードは次のとおりです。
MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
byte bin[] = messageDigest.digest(password.getBytes("UTF-8"));
return Base64.encodeBase64String(bin);