Générer des chaînes 128 bits hexadécimales aléatoires pour servir de clef ? Pfff, facile. Et alors, si je veux générer un mot de pass aléatoire? 

Chaînes 128 bits aléatoires

$ dd if=/dev/urandom | hexdump -Cv
0028cb40  17 9b d8 db 72 41 56 9a  d9 a2 9d 55 e9 5b e3 cf  |....rAV....U.[..|
0028cb50  96 a4 48 b8 2d fe cc b4  bd 10 29 3a 74 8d aa 64  |..H.-.....):t..d|
0028cb60  32 b3 35 f8 cd 4c 35 de  c9 df 3f b7 44 9e cc 51  |2.5..L5...?.D..Q|
0028cb70  67 86 b5 8a df ef 53 66  86 06 18 41 d9 5f a1 ca  |g.....Sf...A._..|
0028cb80  7e 4f 67 71 08 b2 21 47  85 f4 5c 2a d5 3b 8d 3a  |~Ogq..!G..\*.;.:|
0028cb90  df b3 7f 29 79 75 75 dc  16 f3 3e b4 c8 78 41 e7  |...)yuu...>..xA.|
0028cba0  54 d6 da 6a e5 8a 90 46  9f dd 7f 61 36 0c 81 bd  |T..j...F...a6...|
0028cbb0  a0 9e 6b 98 03 a0 c8 4d  31 27 19 4a be 23 93 05  |..k....M14.J..^C

Et hop : a0 9e 6b 98 03 a0 c8 4d 31 27 19 4a be 23 93 05

Ou bien :

$ cat /proc/sys/kernel/random/uuid | hexdump -Cv
00000000  37 64 61 30 64 61 64 38  2d 30 64 36 61 2d 34 65  |7da0dad8-0d6a-4e|
00000010  35 39 2d 62 63 62 38 2d  33 64 38 66 39 36 34 33  |59-bcb8-3d8f9643|
00000020  64 63 33 34 0a                                    |dc34.|
00000025

Ce qui donne : 37 64 61 30 64 61 64 38 2d 30 64 36 61 2d 34 65

Ou encore :

$ date | md5sum
a8649fcf7758f591bbaa3fc4395cef4f

Génération de mots de passe de 32 caractères

10 façons de le faire :

$ date +%s | sha256sum | base64 | head -c 32 ; echo
NDFlNzk5NDg2NTkyMzc0MTIxYmNmMThj
$ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;
MN-zh0uuuMiUFqyqV-W2s7oqcZM_9bGh
$ openssl rand -base64 32
DP4o82AfCWEe0D8jhZgw4alvqnplX5H4OcbOvpnYoPU=
$ tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1
c44NciLlO5N6iPonYkAD0p6dNGaIjt
$ strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo
3GDZvUXe0VHnPsV6Ul4mu0YZFAGEGG
$ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32
HftVu-6uwL4VXY9VVo6m6aLMNCU2vsu3
$ dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev
96C3tm9K6C0iioOr7emxnVFaoZRRm/TUuHINIkEF5Pg
$ </dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c32; echo ""
Ad@%B5!vzBGq%A$rgWxEBE2dt%1cE2TW

Et la méthode la plus simple :

$ date | md5sum
593d4efc647d86701a6378730b855640  -

Partager c'est la vie

Leave a Comment