Comment coder la somme md5 en base64 dans BASH
J'ai besoin de coder hachage md5 de base 64. Le problème est que si donner de sortie de la commande md5sum en base64 de commande, il est considéré comme un texte, et non pas comme des données hexadécimales. Comment le gérer? Base64 commande n'a pas d'option pour définir l'entrée comme un nombre hexadécimal.
Merci pour toute aide.
Vous devez vous connecter pour publier un commentaire.
Utilisation
openssl dgst -md5 -binary
au lieu demd5sum
. Si vous le souhaitez, vous pouvez l'utiliser pour base64 encode ainsi, d'utiliser un seul programme pour tous les usages.echo -n foo | openssl dgst -md5 -binary | openssl enc -base64
(
openssl md5
au lieu deopenssl dgst -md5
travaille trop, mais je pense que c'est mieux d'être explicite)Vous pouvez également utiliser xxd (livré avec vim) pour décoder l'hexagone, avant de passer en base64:
Dans busybox vous pourriez ne pas être en mesure d'utiliser pour la boucle de la syntaxe. Ci-dessous unhex() est implémenté avec une boucle while à la place: