无法让Tomcat JDBCRealm使用SHA2

我在明文(开发/受控环境)中使用Tomcat 7 / JDBCRealm身份验证.现在我想将Web应用程序上传到我的托管环境,因此我需要消化密码.

我将’digest =“MD5”’添加到server.xml中的realm部分,并通过使用MySQL的MD5()函数替换现有的明文密码来测试一些帐户.

这没关系.

当我尝试使用SHA2(server.xml中的’digest =“SHA2”,以及MySQL的SHA2()函数来消化表中的密码时),我一直遇到登录失败.我尝试了MySQL的SHA2(pwd,224),SHA2(pwd,256),… 384,… 515,但都没有用.

我在网上搜索tomcat JDBCRealm / digest属性并不是很有用.

我做错了什么?

最佳答案 在Tomcat日志中查找告诉您SHA-2不是有效算法的消息.如果没有这样的消息,请提出一个Tomcat错误.

您需要使用以下之一:

> SHA-256
> SHA-384
> SHA-512

显然,你需要在MySQL中使用相应的摘要.

点赞