Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fonction crypt

4 réponses
Avatar
Newsgroups
Bonjour =E0 tous,


j'essaye d'utiliser la fonction crypt pour me permettre d'avoir une
chaine assez courte et diff=E9rente =E0 chaque fois que je lui donne une
autre chaine de caract=E8re ; et qui si je donne la meme chaine, il me
ressorte la meme chaine courte.


bon, explication mauvaise, passons =E0 un exemple :

$pwd =3D (getpwuid($<))[0];
$salt =3D substr($pwd, 0, 2);
# je sais pas si c'est une bonne m=E9thode pour cela, mais en gros, je
crois qu'on s'en fou du sel.

print crypt("aaaaa", $salt); =3D=3D> mav7riT/wzZ5s
print crypt("bbbbb", $salt); =3D=3D> maDylOoCcIi8A

# parfait, je lui donne 2 chaines diff=E9rentes, il me retourne 2 autres
# chaines courtes diff=E9rentes.


print crypt("http://www.aaaaa.fr", $salt); =3D=3D> maMiezuBYx.Mk
print crypt("http://www.bbbbb.com.br", $salt); =3D=3D> maMiezuBYx.Mk

# par contre, l=E0, je comprends pas pourquoi les 2 chaines ont un crypt
# identique


Savez vous pourquoi ? et si vous avez une autre solution, je suis
preneur... :-)

4 réponses

Avatar
Nicolas George
Newsgroups wrote in message :
# je sais pas si c'est une bonne méthode pour cela, mais en gros, je
crois qu'on s'en fou du sel.


Si tu veux tester un chiffré, il faut prendre le début du chiffré comme sel,
si tu veux générer un chiffré, il faut prendre un sel aléatoire.

print crypt("http://www.aaaaa.fr", $salt); ==> maMiezuBYx.Mk
print crypt("http://www.bbbbb.com.br", $salt); ==> maMiezuBYx.Mk

# par contre, là, je comprends pas pourquoi les 2 chaines ont un crypt
# identique

Savez vous pourquoi ? et si vous avez une autre solution, je suis
preneur... :-)


Beaucoup d'implémentations de crypt ne prennent en compte que les huit
premiers octets de la chaîne fournie. Ici, donc « http://w » dans les deux
cas.

Il ne faut pas utiliser crypt dans les nouveaux codes, parce que crypt a de
graves défauts de conception à la base. Il faut utiliser de vraies fonctions
de hashage conçues spécifiquement pour, comme MD5 (cassée, hélas, mais
utilisable sous certaines conditions), SHA1 (partiellement cassée, même
remarque) ou une évolution de cette dernière.

Avatar
Newsgroups
Si tu veux tester un chiffré, il faut prendre le début du chiffré c omme sel,
si tu veux générer un chiffré, il faut prendre un sel aléatoire.


c'est quoi un "chiffré" ?
en fait, je veux une chaine qui sera ensuite le nom d'un fichier, et je
voudrais éviter d'avoir des fichiers du genre :
"http://www.aaaaa.fr.xml" au profit de fichier du style
"maMiezuBYx.Mk.xml"


Beaucoup d'implémentations de crypt ne prennent en compte que les huit
premiers octets de la chaîne fournie. Ici, donc « http://w » dans l es deux
cas.


mince alors.


Il ne faut pas utiliser crypt dans les nouveaux codes, parce que crypt a de
graves défauts de conception à la base. Il faut utiliser de vraies fo nctions
de hashage conçues spécifiquement pour, comme MD5 (cassée, hélas, mais
utilisable sous certaines conditions), SHA1 (partiellement cassée, mê me
remarque) ou une évolution de cette dernière.


Oui, je suis d'accord, mais comme c'est pas pour un truc de sécurité, j e
m'en fou un peu...
md5 et sha1 me générent des chaines un peu trop tordues, encore une
fois : bien pour le cryptage, mais pas pour nom de fichier.

Avatar
Nicolas George
Newsgroups wrote in message :
c'est quoi un "chiffré" ?


Le résultat de crypt.

md5 et sha1 me générent des chaines un peu trop tordues


Dans ce cas, il suffit d'utiliser les versions _hex ou _base64 (base64 est
un peu plus court, mais peut contenir des /).

Avatar
Newsgroups

Dans ce cas, il suffit d'utiliser les versions _hex ou _base64 (base64 es t
un peu plus court, mais peut contenir des /).


Merci. ca foncitionne. :-)