【问题标题】:Generate Jetty MD5 Password without Java不使用 Java 生成 Jetty MD5 密码
【发布时间】:2013-07-26 18:23:13
【问题描述】:

我正在设置一个 Jetty 应用程序,该应用程序需要在 realm.properties 文件中声明帐户凭据。有使用 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。我想它应该像找出“用户名”和“密码”的正确组合以管道到 unix md5sum 实用程序一样简单。

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

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

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

【问题讨论】:

  • 您考虑过使用在线 md5 编码器吗?你不会编程任何东西。用户可以自行完成。当然你需要考虑安全风险。
  • 链接?我认为这里的安全影响很小——即使网站永远存储它,他们也不知道我在用它做什么,也无法访问应用程序。棘手的部分是确定格式是什么。我还没有找到与 Jetty 输出匹配的 md5sum 实用程序的输入:-/

标签: java unix jetty md5


【解决方案1】:

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

  1. 生成您的密码 MD5 哈希

    echo -n "your-password" | md5sum

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

    demo-user: MD5:b2bdfbbae9c3f49ac4ba0bfd8ba0ca6e, USER_ROLE1, USER_ROLE2

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 2014-08-01
    • 1970-01-01
    • 2015-06-12
    • 2016-10-15
    • 1970-01-01
    相关资源
    最近更新 更多