使用md5和salt进行j安全检查

时间:2012-03-26 23:01:13

标签: tomcat passwords salt realm j-security-check

现在我正在使用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"
    />

2 个答案:

答案 0 :(得分:1)

很快说:“不,你不能。至少,不是简单”

实际上,摘要由public static final Digest(String credentials, String algorithm,String encoding)org.apache.catalina.realm.RealmBase类中的JDBCRealm方法处理,Digest类继承该类。这个{{1}}方法直接调用MessageDigest实例,我认为它只能用于“MD5”,“SHA-1”和“MD2”。因此,在应用MD5 algortihm之前或之后,您无法对密码执行任何操作

但是,你可以implement a provider拥有你想要的算法。但我警告你,这并不是那么简单。

顺便说一句,我个人更喜欢使用SHA-1哈希密码而不是MD5密码,即使它已被腌制了: - )

答案 1 :(得分:1)

我认为唯一的方法是自己实现少量函数(覆盖JDBCRealm的方法),例如authenticate