Dans le docs de l'API Flickr , vous devez rechercher la somme MD5 d'une chaîne pour générer la valeur [api_sig]
.
Comment générer une somme MD5 à partir d'une chaîne?
Exemple de Flickr:
chaîne: 000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite
Somme MD5: a02506b31c1cd46c2e0b6380fb94eb3d
Pour Python 2.x, utilisez hashlib de python
import hashlib
m = hashlib.md5()
m.update("000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite")
print m.hexdigest()
Sortie: a02506b31c1cd46c2e0b6380fb94eb3d
Vous pouvez faire ce qui suit:
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())
Cependant, dans ce cas, vous feriez probablement mieux d'utiliser ce module utile Python pour interagir avec l'API Flickr:
... qui traitera de l'authentification pour vous.
Documentation officielle de hashlib
Avez-vous essayé d'utiliser l'implémentation MD5 dans hashlib ? Notez que les algorithmes de hachage agissent généralement sur des données binaires plutôt que sur des données text , vous voudrez donc peut-être faire attention au codage de caractères utilisé pour convertir du texte en données binaires avant le hachage.
Le résultat d'un hachage correspond également à des données binaires - il semblerait que l'exemple de Flickr ait ensuite été converti en texte au moyen d'un codage hexadécimal. Utilisez la fonction hexdigest
dans hashlib pour l'obtenir.
Try This
import hashlib
user = input("Enter text here ")
h = hashlib.md5(user.encode())
h2 = h.hexdigest()
print(h2)
Vous pouvez essayer avec
#python3
import hashlib
rawdata = "put your data here"
sha = hashlib.sha256(str(rawdata).encode("utf-8")).hexdigest() #For Sha256 hash
print(sha)
mdpass = hashlib.md5(str(sha).encode("utf-8")).hexdigest() #For MD5 hash
print(mdpass)