Tôi gặp vấn đề khá lạ. Đối với Bảng băm phân tán, tôi cần có khả năng thực hiện một số thao tác toán đơn giản trên băm MD5. Chúng bao gồm một tổng (tổng số đại diện bởi băm) và một hoạt động modulo. Bây giờ tôi tự hỏi cách tốt nhất để thực hiện các hoạt động này là gì. Tôi đang sử dụng hashlib để tính toán băm, nhưng kể từ khi băm tôi nhận được sau đó là chuỗi, làm thế nào để tôi tính toán với họ?Hoạt động trên băm Python
13
A
Trả lời
23
Bạn có thể sử dụng phương pháp hexdigest()
để có được chữ số thập lục phân, và sau đó chuyển đổi chúng sang một số:
>>> h = hashlib.md5('data')
>>> int(h.hexdigest(), 16)
188041611063492600696317361555123480284L
Nếu bạn đã có đầu ra của digest()
, bạn có thể chuyển nó sang chữ số thập lục phân:
>>> hexDig = ''.join('%02x' % ord(x) for x in h.digest())
>>> int(hexDig, 16)
188041611063492600696317361555123480284L
Sửa:
Đối với trường hợp thứ hai, đó là thực tế ly dễ dàng chuyển đổi hơn bằng cách sử dụng .encode('hex')
hoặc binascii.hexlify
:
>>> int(h.digest().encode('hex'), 16)
188041611063492600696317361555123480284L
>>> int(binascii.hexlify(h.digest()), 16)
188041611063492600696317361555123480284L
Các vấn đề liên quan
- 1. Python md5 băm so
- 2. Làm cách nào để tra cứu băm từ điển Python hoạt động?
- 3. Chức năng số của Python chỉ hoạt động trên unicode
- 4. Hoạt động đằng sau hậu trường trên nhắc tải python
- 5. Kiểm tra không hoạt động trong Python trên máy Mac
- 6. Python tập tin hoạt động
- 7. Python sys.stdout.flush() không hoạt động
- 8. Python json.loads không hoạt động
- 9. python - danh sách hoạt động
- 10. Hoạt động bitwise trên
- 11. Thiết kế bảng băm Python
- 12. tìm vs hoạt động trong chuỗi python
- 13. Bản đồ băm trong Python
- 14. Hiện tượng băm hóa tính năng băm trong python
- 15. Dấu xmlsec1 hoạt động trên dòng lệnh nhưng không thành công trên mã Python
- 16. PYTHONPATH không hoạt động với sudo trên GNU/Linux (hoạt động cho thư mục gốc)
- 17. Cách hoạt động trên TFileStream
- 18. AdMob trên nhiều hoạt động?
- 19. Danh sách Python hoạt động bitwise
- 20. và hoạt động quá tải trong python
- 21. Python sys.path sửa đổi không hoạt động
- 22. % hoạt động bằng Python như thế nào?
- 23. Hàm imp.reload() của Python không hoạt động?
- 24. Mô tả Python không hoạt động trong Python 2.7
- 25. Được xây dựng vào python băm function()
- 26. Hàm băm SHA256 trong Python 2.4
- 27. Bạn nên băm một lớp Python?
- 28. Tính năng băm (băm nhỏ) là gì?
- 29. Việc băm liên tục các chuỗi trong Python
- 30. Tại sao mã này không hoạt động trên ruby 1.9 nhưng hoạt động trên ruby 1.8?