python 將md5轉(zhuǎn)為16字節(jié)的方法
python的hashlib庫中提供的hexdigest返回長度32的字符串。
直接通過digest返回的16字節(jié),有不可打印字符。
問題來了,因為md5sum是128bit,也就是16字節(jié),如何將python生成字符串的轉(zhuǎn)為16字節(jié)呢?
請看下面代碼
import hashlib def get_md5(s): m = hashlib.md5(s) return m.hexdigest() def convert_md5(origin): result = [] s = "" for i in range(len(origin)): s += origin[i] if i %2 != 0 : int_hex = int(s, 16) result.append(int_hex) s = "" return result if __name__=="__main__": sum = get_md5("hello world") print sum print len(sum) cv_sum = convert_md5(sum) print cv_sum print len(cv_sum)
output:
5eb63bbbe01eeed093cb22bb8f5acdc3 32 [94, 182, 59, 187, 224, 30, 238, 208, 147, 203, 34, 187, 143, 90, 205, 195] 16
轉(zhuǎn)換后輸出的list是以10進制輸出的每個字節(jié)表示的值,例如,最后一個字節(jié),0xc3 == 195
以上這篇python 將md5轉(zhuǎn)為16字節(jié)的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
django多對多表的創(chuàng)建,級聯(lián)刪除及手動創(chuàng)建第三張表
這篇文章主要介紹了django多對多表的創(chuàng)建,級聯(lián)刪除及手動創(chuàng)建第三張表,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07Pandas數(shù)據(jù)清洗函數(shù)總結(jié)
本文主要介紹了Pandas數(shù)據(jù)清洗函數(shù)總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-01-01Python multiprocessing.Manager介紹和實例(進程間共享數(shù)據(jù))
這篇文章主要介紹了Python multiprocessing.Manager介紹和實例(進程間共享數(shù)據(jù)),本文介紹了Manager的dict、list使用例子,同時介紹了namespace對象,需要的朋友可以參考下2014-11-11python GUI庫圖形界面開發(fā)之PyQt5 UI主線程與耗時線程分離詳細方法實例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5 UI主線程與耗時線程分離詳細方法實例,需要的朋友可以參考下2020-02-02