3

現在、jセキュリティチェックとmd5を使用してjspページを認証しています。パスワードをデータベースに保存する前に、パスワードをソルトしたいと思います。学校でのアクセスが制限されているため、塩を注入するトリガーを作成する権利がありません。これを行う他の方法はありますか?

これが私の領域です:

<Realm 
    className="org.apache.catalina.realm.JDBCRealm" 
    driverName="com.mysql.jdbc.Driver" 
    connectionURL="jdbc:mysql://someurl"
    connectionName="name" 
    connectionPassword="password" 
    userTable="name.users" 
    userNameCol="user_name" 
    userCredCol="user_password" 
    userRoleTable="name.users"
    roleNameCol="role"
    digest="MD5"
    />
4

2 に答える 2

1

すぐに言った:「いいえ、できません。少なくとも、単にではありません」

実際、ダイジェストは、クラスが継承するクラスのpublic static final Digest(String credentials, String algorithm,String encoding)メソッドによって処理されorg.apache.catalina.realm.RealmBaseます。JDBCRealmこのメソッドは、「MD5」、「SHA-1」、「MD2」でのみ使用できるMessageDigestDigestインスタンスを直接呼び出すと思います。したがって、MD5アルゴリズムを適用する前または後に、パスワードに対して何もできません。

ただし、プロバイダーを実装して、必要なアルゴリズムを使用することはできます。しかし、私はあなたに警告します、それはそれほど単純ではありません。

ちなみに、私は個人的には、たとえ塩漬けにされていても、MD5パスワードよりもSHA-1ハッシュパスワードを使用したいと思っています:-)

于 2012-04-04T10:26:11.263 に答える
1

唯一の方法は、などのいくつかの関数(JDBCRealmのメソッドをオーバーライドする)を独自に実装することだと思いますauthenticate

于 2012-04-04T12:44:52.567 に答える