Как получить MD5 сумму строки с помощью python?

на Flickr API docs, вам нужно найти сумму MD5 строки для создания [api_sig] значение.

как можно создать сумму MD5 из строки?

пример Flickr:

строку: 000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite

MD5 sum:a02506b31c1cd46c2e0b6380fb94eb3d

4 ответов


Для Python 2.x, Используйте python hashlib

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

выход: a02506b31c1cd46c2e0b6380fb94eb3d


Вы можете сделать следующее:

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())

однако в этом случае вам, вероятно, лучше использовать этот полезный модуль Python для взаимодействия с API Flickr:

... который будет иметь дело с аутентификацией для вас.

официальные документы hashlib


вы пробовали использовать реализацию MD5 в hashlib? Обратите внимание, что алгоритмы хэширования обычно действуют на бинарные данных, а не текст data, поэтому вы можете быть осторожны, какая кодировка символов используется для преобразования из текста в двоичные данные перед хэшированием.

на результат хэша также двоичные данные - похоже, что пример Flickr затем был преобразован в текст с использованием шестнадцатеричной кодировки. Используйте hexdigest функция в hashlib, чтобы сделать это.


Try This 
import hashlib
user = input("Enter text here ")
h = hashlib.md5(user.encode())
h2 = h.hexdigest()
print(h2)