我正在设置一个需要在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。我想它应该像找出'username'和'password'的正确组合来管道到unix md5sum
实用程序一样简单。
我查看了Password
类的源代码,它似乎只是自己散列密码。鉴于java字符串不是ascii,或许我需要通过一些unix实用程序管道纯文本?像echo plaintext_passwd | some_format_translator | md5sum
?
要获得完全功劳,请给我一个unix命令,该命令将输出与“{1}}的MD5输出匹配的”用户名“和”密码“的哈希值 - java -cp ./jetty-6.1.21.jar:./jetty-util-6.1.21.jar org.mortbay.jetty.security.Password username password
编辑:要清楚,可以假设我的用户可以访问备有库存的Linux机器。他们可能没有运行java,并且肯定没有Jetty安装。
答案 0 :(得分:4)
使用md5sum命令生成Jetty MD5密码非常简单。
生成密码MD5哈希
echo -n "your-password" | md5sum
将MD5哈希添加到realm.properties
demo-user: MD5:b2bdfbbae9c3f49ac4ba0bfd8ba0ca6e, USER_ROLE1, USER_ROLE2
答案 1 :(得分:0)