当前位置: 首页 > 知识库问答 >
问题:

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

廖弘伟
2023-03-14

我使用的是Tomcat6,目前在MySql数据库中有作为明文密码工作的表单身份验证。我已经向密码添加了加密,以便在SHA-256中对密码进行哈希,它似乎有效,但是当我试图通过Tomcat6使用server.xml中的digest=“SHA-256”和digestencoding=“base64”进行身份验证时,它将无法进行身份验证。如果我从数据库中复制密码并将其输入到密码字段中,我可以对我的用户进行身份验证。

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

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

共有1个答案

慕阳平
2023-03-14

答案其实很简单--创建一个自定义Tomcat王国。域是执行实际身份验证的部分,如果要针对数据库进行测试(特别是在加密或散列的情况下),则必须重写域身份验证方法。

见http://www.christianschenk.org/blog/setup-your-own-tomcat-security-realm/

 类似资料:
  • 问题内容: 我在glassfish v3.0.1 b22中使用jdbcRealm进行安全保护。通过以下博客对其进行设置,使其使用我数据库中的USER表进行身份验证:http : //blogs.oracle.com/foo/entry/mort_learns_jdbc_realm_authentication。如果我将摘要算法保留为纯文本,那么我可以正常工作。但是,当我尝试将SHA-256用于摘要

  • 我需要允许网站的老用户使用相同的凭证访问新网站。数据库服务器版本是Microsoft SQL Server 2005,我没有权限更改数据库。数据库的密码列设置为varchar(50),摘要为48个字符。我所知道的关于密码的唯一信息是,它们已经用sha-256算法进行了哈希处理,但据我所知,阿沙-256摘要是64个字符,而不是48个。有可能用sha256生成同样的48长度摘要吗?

  • 实验概要 这一章的实验指导中,你将会学到: 单独生成 ELF 格式的用户程序,并打包进文件系统中 创建并运行用户进程 使用系统调用为用户程序提供服务

  • 实验概要 这一章的实验指导中,你将会学到: 设备树的概念和读取 virtio 总线协议 块设备驱动的实现 将块设备托管给文件系统

  • 实验概要 这一章的实验指导中,你将会学到: 线程和进程的概念以及运行状态的表示 线程的切换 对 CPU 进行抽象在上面完成对线程的调度

  • 实验概要 这一章的实验指导中,你将会学到: 虚拟地址和物理地址的概念和关系 利用页表完成虚拟地址到物理地址的映射 实现内核的重映射