获取hash值

获取hash值

code

from hashlib import md5
from hashlib import sha1
from hashlib import sha224
from hashlib import sha384
from hashlib import sha512
import hashlib

def hashForString(method,srcbyte):
    srcbyte = srcbyte.encode('gb2312')
    testnew = hashlib.new(method,data=srcbyte).hexdigest()
    print(testnew)

    if method == 'md5':
        m = md5()
        #生成hash对象后,用update方法对字符串进行md5加密的更新处理
        m.update(srcbyte)
        srcbyte = m.hexdigest()
    elif method == 'sha1':
        s = sha1()
        s.update(srcbyte)
        srcbyte = s.hexdigest()
    elif method == 'sha224':
        s = sha224()
        s.update(srcbyte)
        srcbyte = s.hexdigest()
    elif method == 'sha384':
        s = sha384()
        s.update(srcbyte)
        srcbyte = s.hexdigest()
    elif method == 'sha1':
        s = sha512()
        s.update(srcbyte)
        srcbyte = s.hexdigest()
    return srcbyte

# print(hashForString('md5','math'))

没有重新构建md5对象字符串会累加

from hashlib import md5

if __name__ == '__main__':
    srcbyte = "test".encode('utf-8')
    m = md5()

    # one
    m.update(srcbyte) # hash "test"
    print("one")
    print(m.hexdigest())

    # two
    m.update(srcbyte) # hash "testtest"
    print("two")
    print(m.hexdigest())

    # three
    m = md5()
    m.update(srcbyte) # hash "test"
    print("three")
    print(m.hexdigest())

    # four
    m = md5()
    m.update(srcbyte + srcbyte) # hash "testtest"
    print("four")
    print(m.hexdigest())

参考

利用Python 生成hash值
SHA512 Python对同一个字符串产生了不同的结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值