URL: https://linuxfr.org/forums/programmationautre/posts/pour-le-passage-sha-vers-base64-un-doute-mhabite Title: Pour le passage sha vers base64 : un doute m'habite :) Authors: rangzen Date: 2005年04月28日T15:32:18+02:00 Tags: Score: 0 Hello les gens, depuis [https://linuxfr.org/comments/523371.html#523371(...)](https://linuxfr.org/comments/523371.html#523371) l'idée a fait du chemin et j'ai même fait héberger le bébé sur gna! (encore merci à eux !) [http://gna.org/projects/pyshapass/(...)](http://gna.org/projects/pyshapass/) mais il me reste un doute sur la validité de ce que j'emploie, c'est à dire chaine vers sha1 vers base64 puis 8 premiers caractères = mot de passe Quand on lance ce traitement une 50aine de fois avec une chaine de 20 caractères pris sur /dev/random, on aperçoit des "colonnes" de N,M,Z est ce normal ? cedric@lef:~/tmp $ cat t.py import sha import base64 f = file('/dev/random','r') for i in range(20): £spaces£ £/spaces£print base64.encodestring(sha.new(f.read(20)).hexdigest())[:-1] cedric@lef:~/tmp $ python t.py ZWU5OTI5MmI3YWM5MGU5MTE1NjI5YTY5ODJlMTc2N2JhOWNlM2JmNQ== ODIzNThiZDA1NWY3NzlhMTdmNjBiYTIxNmI1OTExMzQxODM0YzVhZA== NTQ5ZDM5NjAzNGJiOGZhN2FmYTM4OGNlMmQxNWNjMTYxNWVjNmU3ZA== OTE2ZWQ2ZGI3NWVkMmI5N2JlYWU3YTUxNTJhM2Q3MGVmZDZlYzZjMg== M2Y1ODI2YTEyNjk5MDIzM2U5MzkwNzQwYWEyYjc4ZmExOTU0N2FjNw== MDljZDIzMWMxZjQ5MDE3ZTZmYWRjMTEyYjBlNzU3YWZhNTgxNGVlYQ== NTBhN2IyYzQ4MDJmNzA5OTYzZmRiOTJjZWE1YjA5YjcyYmViYWZhMA== MTQxOGZlOTQ5Y2MyZmM1OTJlMDI4YTczZGRlMzg1ZDU5ZTc2ZDBkZg== NmY1ZGI3ZjkzYjY2NTZlYzJjY2Q1ZjQ2MmNhYTI3MGY2NmIwNGVjNg== MDZmMGE3ZTY1YmI0NDg3ODE0ZmJhMDNmYzg2YTFhMTBiYjY3YTNkNw== Y2E0ZWIyNGQ5Mjc3Yzc0ZDMyOGYwODQwZjgyMzE5NGZkNzE4ZThmZg== OTBlYmEwY2QzMDNjMzI5ZDFlMWZjODlmOWRlOTFiMmFjZmJkNjA5Zg== OWQxYTU3ZDI4ODNlMDlkZGEzN2NkYTBlODBmZTdiZDY5ZWRkNDA1MQ== MDYwOWIzYWRhZjU5M2E2YzhkZjUwMzA1YmQ0OGQ1ZmViNDEyZmVjYw== NGM0YzlhMWQwYTJmOWIxNTkxZjdmOGIxNmIyODNkOWJjMTVmZmM4Yg== ZDlmYzEzYjZlOTIxMjQ4MmI4ZjYxMDFlYzA0NzE0NTIxMjM1ZDk0Mg== NjQxY2JiMGIxNzRkZmJkOTBkN2JmNGU4OGI4MTg5MGVlZmY0M2QyNg== OGIxNzEyMjIwNGU1YzE5YWQ2ZDczNDEzMzJlMmUzN2EzMzI5ZjQ0ZA== NDI4YjJkYzA4ZTBiMmVhZTU4YjBhZmQ3NWM2YTJjNDgxZmE4Njg2Nw== NDQzODVjOTYyZmQwNGNjMzU1MWY4NjM3ODI2NzAzYjY2ZTc3ZGY0Zg== Vous voyez le nombre de N et de M en première colonne par exemple ? Je suppose que c'est du à base64 mais comment l'éviter car si je n'utilise pas base64 et que j'encode le sha1 en hex, les lettres ne seront choisis que dans [1-9a-f] ce qui réduit considérablement la "force" du mot de passe, 16^8 au lieu de 64^8. Même dans les exemples de mon README, c'est bizarre : [http://cvs.gna.org/viewcvs/pyshapass/pyshapass/README?rev=1.5&c(...)](http://cvs.gna.org/viewcvs/pyshapass/pyshapass/README?rev=1.5&content-type=text/vnd.viewcvs-markup) Tous les exemples commencent par M ou N :-/ J'avais pensé à prendre des indices différents pour le mot de passe, au lieu de [0,1,2,3,4,5,6,7] prendre [1,2,3,5,6,7,9,10] mais ça sort quand même des mots de passe "louche". Une idée ?

AltStyle によって変換されたページ (->オリジナル) /