Y a-t-il une façon de calculer un hachage SHA256 à Python 2.4? (Je souligne: Python 2.4) Je sais comment le faire à Python 2.5 mais malheureusement, il n'est pas disponible sur mon serveur et une mise à niveau ne sera pas effectuée. J'ai le même problème que le gars à Ce question, mais en utilisant Python 2.4. P>
3 Réponses :
Oui, vous pouvez. Avec Python 2.4, il y avait un module SHA-1 qui fait exactement cela. Voir La documentation . P>
Cependant, gardez à l'esprit que l'importation de code à partir de ce module entraînera des dépendons d'accompagnement lorsqu'il est exécuté avec de nouveaux python. P>
OK, car l'exigence était resserrée d'être SHA-256, l'utilisation du module SHA-1 dans la bibliothèque standard ne suffit pas. Je suggérerais de vérifier PYCRYPTO , il a une implémentation SHA-256. Il existe également des versions binaires Windows pour correspondre aux pythons plus anciens, suivez les liens d'Andrew Kuchlings Old Pycrypto Page . P>
Si vous récupérez des mots de passe, je ne vous recommanderais pas d'utiliser SHA-1, jamais. Cela a été fissuré et n'est pas considéré comme insécurisé. L'utilisation de mots de passe MD5 sur HASH est également considérée comme non sécurisée. Si vous ne pouvez pas accéder aux nouvelles bibliothèques de hachage dans des versions plus récentes de Python, je vous recommande de créer un appel système à «SSH-Keygen» (sur Linux) et de lire dans le fichier qu'il crée.
C'est un peu exagéré de dire "toujours", de retour en 2009 lorsque la question et la réponse ont été écrites SHA1 était ok. Pour référence, la première approche théorique de la fabrication de SHA1 Hashes Collide par Marc Stevens n'a pas été publiée avant 2013. Mais oui: connaissez vos hatumes et comprenez les implications de votre choix de vos choix.
Je t'entends. Quand j'ai dit "toujours", ce que je voulais dire était "toujours à partir de ce moment en avant". Mais, je pensais que c'était impliqué. Vous faites un bon point. Je pense que votre réponse était bonne pour quand elle a été écrite. Peut-être que cela pourrait être révisé pour être debout avec les temps?
Vous pouvez utiliser le module SHA CODE>, si vous souhaitez rester compatible, vous pouvez l'importer comme suit:
try:
from hashlib import sha1
except ImportError:
from sha import sha as sha1
Le code affiché calcule SHA-1 et il est inutile de calculer SHA-256.
Il existe une version complète de Hashlib à http://pypi.python.org/pypi/hashlib < / a> Et je viens de replacer la nouvelle version HMAC et le mettez-le à http://pypi.python.org / PYPI / HMAC P>