1

我正在设置一个需要在realm.properties文件中声明帐户凭据的 Jetty 应用程序。有使用org.mortbay.jetty.security.Password该类以各种形式生成凭据的说明,包括 MD5 哈希。在示例 realm.properties 中,该文件指出: This entry is for digest auth. The credential is a MD5 hash of username:realmname:password

我的问题是,有人知道使用的精确格式吗?我需要让我的用户向我发送他们帐户的密码哈希,而不需要他们同时安装 java 和 jetty。我想它应该像找出“用户名”和“密码”的正确组合一样简单,以通过管道传输到 unixmd5sum实用程序。

我查看了Password该类的源代码,它似乎只是自己散列了密码。鉴于java字符串不是ascii,也许我需要通过一些unix实用程序来传输纯文本?像echo plaintext_passwd | some_format_translator | md5sum什么?

完整的功劳,给我一个 unix 命令,它将输出匹配 MD5 输出的“用户名”和“密码”的哈希java -cp ./jetty-6.1.21.jar:./jetty-util-6.1.21.jar org.mortbay.jetty.security.Password username password- 这是5f4dcc3b5aa765d61d8327deb882cf99

编辑:需要明确的是,可以假设我的用户可以访问库存充足的 Linux 机器。他们可能没有运行 java,并且肯定没有安装 Jetty。

4

2 回答 2

4

使用 md5sum 命令生成 Jetty MD5 密码非常简单。

  1. 生成您的密码 MD5 哈希

    echo -n "your-password" | md5sum

  2. 将 MD5 哈希添加到 realm.properties

    demo-user: MD5:b2bdfbbae9c3f49ac4ba0bfd8ba0ca6e, USER_ROLE1, USER_ROLE2

于 2014-04-25T17:50:43.213 回答
0

进行提升的课程在这里:

http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-util/src/main/java/org/eclipse/jetty/util/security/Password.java

于 2013-07-26T19:09:17.540 回答