Java Tomcat 6-如何配置摘要SHA-256

Java Tomcat 6-如何配置摘要SHA-256,java,mysql,authentication,tomcat6,Java,Mysql,Authentication,Tomcat6,我使用的是Tomcat6,目前在MySql数据库中,表单身份验证作为明文密码工作。我已经在密码中添加了加密来散列SHA-256中的密码,它似乎可以工作,但是当我尝试使用server.xml中的digest=“SHA-256”和digestEncoding=“base64”通过Tomcat 6进行身份验证时,它不会进行身份验证。如果我从数据库复制密码并将其输入密码字段,我可以验证我的用户 如何让Tomcat允许我使用MySql中存储的哈希密码和普通密码对用户进行身份验证 下面是我添加到应用程序中的

我使用的是Tomcat6,目前在MySql数据库中,表单身份验证作为明文密码工作。我已经在密码中添加了加密来散列SHA-256中的密码,它似乎可以工作,但是当我尝试使用server.xml中的digest=“SHA-256”和digestEncoding=“base64”通过Tomcat 6进行身份验证时,它不会进行身份验证。如果我从数据库复制密码并将其输入密码字段,我可以验证我的用户

如何让Tomcat允许我使用MySql中存储的哈希密码和普通密码对用户进行身份验证

下面是我添加到应用程序中的哈希代码:

    MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
    byte bin[] = messageDigest.digest(password.getBytes("UTF-8"));
    return Base64.encodeBase64String(bin);

答案其实很简单——创建一个定制的Tomcat领域。领域是执行实际身份验证的部分,如果您想对数据库进行测试(特别是在加密或散列的情况下),领域身份验证方法是您必须覆盖的


请参见

这个问题的答案其实很简单——创建一个自定义的Tomcat领域。领域是执行实际身份验证的部分,如果您想对数据库进行测试(特别是在加密或散列的情况下),领域身份验证方法是您必须覆盖的


请参见

我得到了一个明显的印象,即摘要身份验证方法只适用于此,表单身份验证不起作用。如何使用表单身份验证来实现这一点?我得到了一个明显的印象,即摘要身份验证方法只适用于此,表单身份验证将不起作用。如何使用表单身份验证实现此功能?