MD5和SHA1算法的理解

1、介绍


2、算法

# @Time : 2021/2/10 14:51
# @Description : (Message Digest Algorithm)MD5和(Secure Hash Algorithm)SHA1算法测试

import hashlib

if __name__ == "__main__":
    print('------------------------------MD5算法----------------------------------')
    md5 = hashlib.md5()
    md5.update('This is a sentence.'.encode("UTF-8"))
    md5.update('This is a second sentence.'.encode("UTF-8"))
    # 不出意外,这个将是“乱码”: b'+\xfe\x14I\x16QUL\x05\x99k\x16)$\x85q'
    print('不出意外,这个将是“乱码”:', md5.digest())
    # 转化为十六进制后输出
    # MD5: 2bfe14491651554c05996b1629248571
    print('MD5:', md5.hexdigest())

    md5 = hashlib.md5()
    md5.update('This is a sentence.This is a second sentence.'.encode("UTF-8"))
    # MD5: 2bfe14491651554c05996b1629248571
    print('MD5:', md5.hexdigest())
    # 输出一些细节信息
    # 16 64
    print(md5.digest_size, md5.block_size)

    print('------------------------------SHA1算法----------------------------------')
    sha1 = hashlib.sha1()
    sha1.update('This is a sentence.'.encode("UTF-8"))
    sha1.update('This is a second sentence.'.encode("UTF-8"))
    # 不出意外,这个将是“乱码”: b'\x99\xa7JH\xd5\xfba\x1ae%\x96+\xa3\xd5\x111\xcb:\x1d,'
    print('不出意外,这个将是“乱码”:', sha1.digest())
    # SHA1: 99a74a48d5fb611a6525962ba3d51131cb3a1d2c
    print('SHA1:', sha1.hexdigest())

    sha1 = hashlib.sha1()
    sha1.update('This is a sentence.This is a second sentence.'.encode("UTF-8"))
    # SHA1: 99a74a48d5fb611a6525962ba3d51131cb3a1d2c
    print('SHA1:', sha1.hexdigest())
    # 20 64
    print(sha1.digest_size, sha1.block_size)
    print('=====================')

    md5 = hashlib.new('md5', 'This is a sentence.This is a second sentence.'.encode("UTF-8"))
    # 2bfe14491651554c05996b1629248571
    print(md5.hexdigest())
    sha1 = hashlib.new('sha1', 'This is a sentence.This is a second sentence.'.encode("UTF-8"))
    # 99a74a48d5fb611a6525962ba3d51131cb3a1d2c
    print(sha1.hexdigest())

    # print(hashlib.algorithms)
    print(hashlib.algorithms_available)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值