1. 程式人生 > >python 如何將md5轉為16字節

python 如何將md5轉為16字節

OS origin -m post out range hash clas 長度

python的hashlib庫中提供的hexdigest返回長度32的字符串。

md5sum是128bit,也就是16字節,如何將python生成字符串的轉為16字節呢?

請看下面代碼

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

轉換後輸出的list是以10進制輸出的每個字節表示的值,例如,最後一個字節,0xc3 == 195

python 如何將md5轉為16字節