Как получить сумму MD5 строки с помощью Python? - PullRequest
234 голосов
/ 14 марта 2011

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

Как можно получить сумму MD5 из строки?

Пример Flickr:

строка: 000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite

MD5 сумма: a02506b31c1cd46c2e0b6380fb94eb3d

Ответы [ 5 ]

491 голосов
/ 14 марта 2011

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

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

234 голосов
/ 14 марта 2011

Для Python 2.x используйте python's hashlib

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

Выход: a02506b31c1cd46c2e0b6380fb94eb3d

9 голосов
/ 14 марта 2011

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

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

3 голосов
/ 10 июня 2018
Try This 
import hashlib
user = input("Enter text here ")
h = hashlib.md5(user.encode())
h2 = h.hexdigest()
print(h2)
0 голосов
/ 29 июня 2019

Вы можете попробовать с

#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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...