Page 1 sur 1

caractères spéciaux et openssl_random_pseudo_bytes

Posté : 22 févr. 2017, 18:01
par Boro64
Bonjour,
Pour créer un token, j'utilise la fonction openssl_random_pseudo_bytes; or dans les résultats se trouvent des caractères qui (parfois) rendent impossible la récupération du token complet.
Par exemple: yhØzX8 t [Y6_oPJbA] devient yhØzX8 t
Mes questions sont les suivantes:
1) comment éviter l'introduction de certains éléments (typiquement [ et ] ) sachant que je récupère ce token via un lien, donc en _GET, soit un tableau...
2) quel(s) jeu(x) de caractères est/sont utilisé(s) par cette fonction? (désolé, mais même notre ami google ne me trouve pas d'infos là dessus...ou je n'ai pas su chercher; enfin, bref, toute info est la bienvenue)
D'avance merci pour votre aide, vos conseils ou avis.

Re: caractères spéciaux et openssl_random_pseudo_bytes

Posté : 22 févr. 2017, 20:56
par @rthur
1) comment éviter l'introduction de certains éléments (typiquement [ et ] ) sachant que je récupère ce token via un lien, donc en _GET, soit un tableau...
Si tu veux juste un token et que ce que tu souhaites à protéger avec ce token n'a pas besoin d'être sécurisé comme la NSA, alors regarde du côté de la fonction uniqid(), quitte à lui donner un coup de sha1 avec un sel pour augmenter le niveau de sécu et avoir un token avec uniquement des caractères a-z0-9
2) quel(s) jeu(x) de caractères est/sont utilisé(s) par cette fonction? (désolé, mais même notre ami google ne me trouve pas d'infos là dessus...ou je n'ai pas su chercher; enfin, bref, toute info est la bienvenue)
Magie de l'opensource, on peut voir comment la fonction est définie dans la source de PHP :
https://github.com/php/php-src/blob/efe ... sl.c#L6547

Quoiqu'il en soit il n'y a pas de jeu de caractère particulier puisqu'il s'agit juste d'une chaine d'octets aléatoires. Donc ça peut tomber sur n'importe quoi comme caractère, même des non-imprimables.

Re: caractères spéciaux et openssl_random_pseudo_bytes

Posté : 23 févr. 2017, 06:53
par Boro64
Merci @rthur pour le conseil et le lien.
Je vais simplifier effectivement et éviter des caractères "problématiques".
Si je puis me permettre, aux vues de l'actualité des dernières années, c'est plus pour protéger de la NSA que comme elle :lol:
Quoi qu'il en soit, merci encore.