Portál AbcLinuxu, 16. července 2025 05:52
mkpasswd --hash=md5 slovo
cp /dev/null md5.out; awk '{system("mkpasswd --hash=md5 "$1" >> md5.out")}' vstupni_soubor
#!/bin/bash for i in `<$1`; do mkpasswd --hash=md5 >> $2 done
mkpasswd --hash=md5 $i >> $2
$ mkpasswd --hash=md5 slovo usage: mkpasswd [args] [user] where arguments are: -l # (length of password, default = 9) -d # (min # of digits, default = 2) -c # (min # of lowercase chars, default = 2) -C # (min # of uppercase chars, default = 2) -s # (min # of special chars, default = 1) -v (verbose, show passwd interaction) -p prog (program to set password, default = passwd)Takže to asi moc přenositelné nebude. Ale třeba pomůže tohle:
#!/usr/bin/env python import sys, md5 fw = file(sys.argv[2], 'w') for line in file(sys.argv[1]): line = line.strip() sum = md5.new() sum.update(line) print >> fw, sum.hexdigest()První argument je vstupní soubor, druhý je výstupní. Takže například ze souboru s obsahem
qwgqwergqe rg wqer fqerwfvqnerpovqer;v qwervnelvneqwv sdf vs dfv we rbvwebwese vyrobí druhý soubor, ve kterém bude toto:
74883339982d64abbef41f57e6578923 0ecb2b966eca6994910caee2947f6679 0b06c2c0c425b07fe59b86042edc9c9a 50e18f1083dce1ec653590d99089afc0 7b654c98d546c85c0c278c7d398ebb35 d9729feb74992cc3482b350163a1a010 f4842dcb685d490e2a43212b8072a6fe 357be52f82b87b4b58449cfe591b4ae0 ff1ccf57e98c817df1efcd9fe44a8aeb 6ef9d232e29a055f25d3edae898189f2
#!/usr/bin/env python import sys, md5 out = file(sys.argv[2], 'w') for line in file(sys.argv[1]): out.write(md5.new(line.strip()).hexdigest() + '\n') out.close()
#!/usr/bin/env python import sys, os for line in file(sys.argv[1]): os.system('mkpasswd --hash=md5 "%s" >> "%s"' % (line, sys.argv[2]))
#!/usr/bin/env python import sys, os out = sys.argv[2] cmd = 'mkpasswd --hash=md5 "%s" >> ' + out for line in file(sys.argv[1]): os.system(cmd % line)
Kdo tě učil programovat?Ségra v r. 1987. Ale spíš jsem se naučil, když jsem se pokoušel s odstupem několika let po sobě číst a _upravovat_ své zdrojáky, které vypadaly jako ten tvůj. Pár ukázek bych měl - jistě by se ti ten styl líbil. Mě už ne.
perl -MDigest::MD5 -ne 'chomp;print Digest::MD5::md5_hex($_),"\n"'které je nesrovnatelně flexibilnější než ty vaše Pythoní paskvily, tak to vážně nechápu. Tak například tento jediný řádek umí zároveň fungovat jako filtr STDIN->STDOUT a zároveň jako vstup může použít libovolný počet souborů zadaných na příkazovém řádku. To se o těch vašich výtvorech nedá říci ani omylem. Asi takto:
$ alias md5words='perl -MDigest::MD5 -ne '\''chomp;print Digest::MD5::md5_hex($_),"\n"'\' $ echo -e 'ahoj\nkuku' | md5words 79c2b46ce2594ecbcb5b73e928345492 f1534cd6b03bca4163d5773a988dc3bc $ echo 'ahoj' > test1.txt $ echo 'kuku' > test2.txt $ md5words test1.txt test2.txt 79c2b46ce2594ecbcb5b73e928345492 f1534cd6b03bca4163d5773a988dc3bc $Takže si roztrhejte občanky
cat soubor1 | while read slovo; mkpasswd --hash=md5 $slovo; done > soubor2
cat soubor1 | while read slovo;do mkpasswd --hash=md5 $slovo; done > soubor2
echo "${slovo}" | md5sum | sed -e 's/ .*//'pre tych, co maju inu verziu mkpasswd
perl -MDigest::MD5 -n -e 'chomp; print Digest::MD5::md5_hex ($_), "\n";'
while read slovo; mkpasswd --hash=md5 "$slovo"; done < soubor1 > soubor2
while read slovo; do mkpasswd --hash=md5 "$slovo"; done < soubor1 > soubor2
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.