Di Flickr API docs , Anda perlu menemukan jumlah MD5 dari sebuah string untuk menghasilkan [api_sig]
nilai.
Bagaimana cara menghasilkan jumlah MD5 dari string?
Contoh Flickr:
tali: 000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite
Jumlah MD5: a02506b31c1cd46c2e0b6380fb94eb3d
hashlib.md5().update('your string').hexdigest()
, itu tidak akan berhasil karenaupdate()
mengembalikan Tidak ada. Jika Anda menginginkan solusi satu baris, gunakan jawaban Mark Longair.m.digest_size
di atas kode ini, intisari internal sudah 16 byte.m.hexdigest()[:16]
Anda dapat melakukan hal berikut:
Python 2.x
Python 3.x
Namun dalam hal ini Anda mungkin lebih baik menggunakan modul Python yang bermanfaat ini untuk berinteraksi dengan Flickr API:
... yang akan menangani otentikasi untuk Anda.
Dokumentasi resmi hashlib
sumber
hashlib.md5
mengharapkan sebuah byte-seperti-objek""
) adalah unicode dan harus dikodekan ke bytestring. String dalam python2 dapat diartikan sebagai string btyestring atau unicode, dan melewatkan""
string str ( ) diartikan sebagai bytestring. Jika string memiliki karakter unicode, ini akan memunculkan Exception. Pengodean bytestring akan membuat karakter ascii tidak tersentuh dan mengonversi unicode dengan benarSudahkah Anda mencoba menggunakan implementasi MD5 di hashlib ? Perhatikan bahwa algoritma hashing biasanya bekerja pada data biner daripada data teks , jadi Anda mungkin perlu berhati-hati tentang pengkodean karakter mana yang digunakan untuk mengonversi dari teks ke data biner sebelum hashing.
The hasil dari hash juga data biner - tampak seperti contoh Flickr telah kemudian telah diubah menjadi teks menggunakan hex encoding. Gunakan
hexdigest
fungsi di hashlib untuk mendapatkan ini.sumber
sumber
Kamu bisa memakai
b
karakter di depan string literal :Di luar:
sumber
Anda dapat mencoba
sumber