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

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

Как сделать вывод о сумме MD5 из строки?

Пример Flickr:

string: 000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite

Сумма MD5: a02506b31c1cd46c2e0b6380fb94eb3d

Ответ 1

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

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

Выход: a02506b31c1cd46c2e0b6380fb94eb3d

Ответ 2

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

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

Python:

from Crypto.Hash import MD5
h = MD5.new()
h.update(bytearray("any of your string"))
print h.hexdigest()`

Это дает сумму входной строки md5.

Nodejs:

var crypto = require('crypto');
var s = "any of your string";
var md5 = crypto.createHash('md5').update(s).digest('hex');
console.log("hash means",md5);

Это код для md5 sum в nodejs usecase.

Ответ 7

Спасибо pycrypto, которые обеспечивают простой способ как одностороннего (хеширования), так и двухстороннего шифрования

from Crypto.Hash import MD5
from Crypto.Cipher import AES

Более полная простая функция при посещении python http://developer.e-power.com.kh/one-way-vs-two-way-encryption