[bash] md5
Résolu
Rizzen Virnn
Messages postés
103
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je débute en bash
Je voudrais réaliser un script qui transforme un texte entré en son équivalent crypté en md5.
Pour faire simple au début, j'essaye de faire une boucle comptant jusque 5
Je recois ceci :
Je suppose que c'est mon emploit de la fonction md5 qui foire mais je n'arrive pas à trouver comment faire.
Merci
Je débute en bash
Je voudrais réaliser un script qui transforme un texte entré en son équivalent crypté en md5.
Pour faire simple au début, j'essaye de faire une boucle comptant jusque 5
#!/bin/bash cpt=0 i=5 while [ "$cpt" -lt "$i" ] do echo "$cpt" cpt=`expr $cpt + 1` md5=`md5sum -b "$cpt"` echo "$md5" done
Je recois ceci :
0 md5sum: 1: No such file or directory 1 md5sum: 2: No such file or directory 2 md5sum: 3: No such file or directory 3 md5sum: 4: No such file or directory 4 md5sum: 5: No such file or directory
Je suppose que c'est mon emploit de la fonction md5 qui foire mais je n'arrive pas à trouver comment faire.
Merci
A voir également:
- Bash md5
- Md5 checksum - Télécharger - Web & Internet
- Bingo bash - Télécharger - Divers Jeux
- Bash list ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
- Bash pause ✓ - Forum Shell
6 réponses
Essaie plutôt :
Sinon, md5 ce n'est pas pour chiffrer mais hacher, donc tu ne pourras pas déchiffrer ;)
md5=$(echo $cpt | md5sum)à la place de ta ligne avec l'initialisation de md5.
Sinon, md5 ce n'est pas pour chiffrer mais hacher, donc tu ne pourras pas déchiffrer ;)
Salut,
C'est normal puisque md5sum demande en argument un fichier
Si tu fais en revanche
echo $variable | md5sum ça marche puisque le fichier lui est stdout
C'est normal puisque md5sum demande en argument un fichier
Si tu fais en revanche
echo $variable | md5sum ça marche puisque le fichier lui est stdout
lami20j@debian:~/trash$ cat ccm4_md5sum.sh #!/bin/bash cpt=0 i=5 while [ "$cpt" -lt "$i" ] do echo "$cpt" cpt=`expr $cpt + 1` md5=$(echo $cpt |md5sum -b) echo "$md5" done lami20j@debian:~/trash$ sh ccm4_md5sum.sh 0 b026324c6904b2a9cb4b88d6d61c81d1 *- 1 26ab0db90d72e28ad0ba1e22ee510510 *- 2 6d7fce9fee471194aa8b5b6e47267f03 *- 3 48a24b70a0b376535542b996af517398 *- 4 1dcca23355272056f04fe8bf20edfce0 *-
Oui pardon erreur de langage.
Merci pour le code.
Je ne travail pas sur des fichiers mais bien sur un nombre ou chaine de caractère.
Maintenant j'essaye de comparer le code trouvé à un code généré
résultat :
Merci
Merci pour le code.
Je ne travail pas sur des fichiers mais bien sur un nombre ou chaine de caractère.
Maintenant j'essaye de comparer le code trouvé à un code généré
cpt=10000 code=25a4b05ba9e28eaff3b663530947f44d md5=$(echo $cpt | md5sum) if [ $md5 -eq $code ] then echo "cool" fi
résultat :
line 11: [: too many arguments
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
lami20j@debian:~/trash$ cat ccm5_md5sum.sh #!/bin/bash cpt=10000 code=b7a782741f667201b54880c925faec4b echo $code md5=$(echo -e "$cpt\c" | md5sum|cut -d' ' -f1) if [ "$md5" = "$code" ] then echo "cool" fi lami20j@debian:~/trash$ sh ccm5_md5sum.sh b7a782741f667201b54880c925faec4b cool
Essaie plutôt :
le cut, permettra de ne garder que le hash et donc d'enlever le petit tiret que t'obtiens à la sortie de md5sum.
Cdlt
md5=$(echo $cpt | md5sum | cut -d' ' -f1) if [ "$md5" = "$code" ]; then ...
le cut, permettra de ne garder que le hash et donc d'enlever le petit tiret que t'obtiens à la sortie de md5sum.
Cdlt
Salut,
Tu as oublié le \n de echo
et le script sans enlever le \n
Tu as oublié le \n de echo
lami20j@debian:~/trash$ echo 10000 | md5sum | cut -d' ' -f1 154773ae5dc2d36d8b9747e5d3dbfc36 lami20j@debian:~/trash$ echo -e "10000\c" | md5sum | cut -d' ' -f1 b7a782741f667201b54880c925faec4b lami20j@debian:~/trash$
et le script sans enlever le \n
lami20j@debian:~/trash$ cat ccm5_md5sum.sh #!/bin/bash cpt=10000 code=b7a782741f667201b54880c925faec4b echo $code #md5=$(echo -e "$cpt\c" | md5sum|cut -d' ' -f1) md5=$(echo $cpt | md5sum | cut -d' ' -f1) if [ "$md5" = "$code" ] then echo "cool" fi lami20j@debian:~/trash$ sh ccm5_md5sum.sh b7a782741f667201b54880c925faec4b lami20j@debian:~/trash$