394 votes

Comment obtenir la somme MD5 d'une chaîne?

Dans la documentation de l'API Flickr , vous devez rechercher la somme MD5 d'une chaîne pour générer la valeur [api_sig] .

Comment peut-on générer une somme MD5 à partir d'une chaîne?

Exemple de Flickr:

chaîne: 000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite

Somme MD5: a02506b31c1cd46c2e0b6380fb94eb3d

792voto

Mark Longair Points 93104

Vous pouvez effectuer les opérations suivantes:

Python 2.x

import hashlib
print hashlib.md5("whatever your string is").hexdigest()

Python 3.x

import hashlib
print(hashlib.md5("whatever your string is".encode('utf-8')).hexdigest())

Toutefois, dans ce cas, vous êtes probablement mieux d'utiliser ce utile module Python permettant d'interagir avec l'API de Flickr:

... pour s'occuper de l'authentification pour vous.

La documentation officielle de hashlib

297voto

Ikke Points 31517

Utilisez pythons hashlib

 import hashlib
m = hashlib.md5()
m.update("000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite")
print m.hexdigest()
 

Sortie: a02506b31c1cd46c2e0b6380fb94eb3d

13voto

Jon Skeet Points 692016

Avez-vous essayé d'utiliser le MD5 de la mise en œuvre dans hashlib? Notez que les algorithmes de hachage agissent généralement sur binaire des données plutôt que de texte, de données, de sorte que vous voudrez peut-être prudent au sujet de qui l'encodage des caractères est utilisé pour convertir du texte en données binaires avant de hachage.

Le résultat de hachage est également des données binaires - il ressemble à de Flickr exemple a ensuite été converti en texte en utilisant le codage hexadécimal. Utiliser l' hexdigest fonction dans hashlib de l'obtenir.

-4voto

user948440 Points 43

Essaye ça:

 >>> import hashlib
>>> m = hashlib.md5()
>>> m.update("000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite")
>>> print m.hexdigest()
a02506b31c1cd46c2e0b6380fb94eb3d
 

La première ligne python consiste à initialiser python sur un mac.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X