2013-07-26 3 views
0

Je configure une application Jetty qui doit déclarer les informations d'identification du compte dans le fichier realm.properties. Il existe des instructions pour utiliser la classe org.mortbay.jetty.security.Password pour générer des informations d'identification sous diverses formes, y compris les hachages MD5. Dans l'exemple realm.properties, le fichier indique: This entry is for digest auth. The credential is a MD5 hash of username:realmname:password Générer un mot de passe J5 MD5 sans Java

Ma question est, est-ce que quelqu'un connaît le format précis utilisé? Je dois laisser mes utilisateurs m'envoyer des hashs de mot de passe pour leur compte sans les obliger à installer java et jetty. J'imagine que cela devrait être aussi simple que de trouver la bonne combinaison de 'nom d'utilisateur' et 'mot de passe' pour rediriger vers l'utilitaire unix md5sum.

J'ai regardé le code source pour la classe Password, et il semble juste hacher le mot de passe par lui-même. Étant donné que les chaînes java ne sont pas ascii, peut-être que j'ai besoin de canaliser le texte brut à travers un utilitaire unix? Quelque chose comme echo plaintext_passwd | some_format_translator | md5sum?

Pour tout le crédit, donnez-moi une commande unix qui émet un hachage pour « nom d'utilisateur » et « mot de passe » correspondant à la sortie MD5 de java -cp ./jetty-6.1.21.jar:./jetty-util-6.1.21.jar org.mortbay.jetty.security.Password username password - qui est 5f4dcc3b5aa765d61d8327deb882cf99

EDIT: Pour être clair, on peut supposer mes utilisateurs ont accès à une machine Linux entièrement équipée. Ils n'exécutent probablement pas Java, et n'ont certainement pas d'installation Jetty.

+0

Avez-vous envisagé d'utiliser des codeurs en ligne md5? Vous ne programmez rien. Les utilisateurs peuvent le faire par leurs propres moyens. Bien sûr, vous devez prendre en compte le risque de sécurité. – Max

+0

Lien? Je pense que l'implication de la sécurité est minime ici - même si le site web stocke pour toujours, ils ne sauraient pas à quoi je l'utilise, ni ils n'auraient pas accès à l'application. La partie difficile est de déterminer quel est le format. Je n'ai pas encore trouvé une entrée à l'utilitaire md5sum qui correspond à la sortie Jetty: - / –

Répondre

4

Il est très simple en utilisant la commande md5sum pour générer un mot de passe MD5 Jetty.

  1. Générez votre mot de passe hachage MD5

    echo -n "your-password" | md5sum

  2. Ajouter hachage MD5 à realm.properties

    demo-user: MD5:b2bdfbbae9c3f49ac4ba0bfd8ba0ca6e, USER_ROLE1, USER_ROLE2

Questions connexes