python各种加密算法

发布时间:2019-08-07 13:53:18编辑:auto阅读(1357)

    1..base64

    Python内置的base64模块可以实现base64、base32、base16、base85、urlsafe_base64的编码解码,python 3.x通常输入输出都是二进制形式,2.x可以是字符串形式。

    base64模块的base64编码、解码调用了binascii模块,binascii模块中的b2a_base64()函数用于base64编码,binascii模块中的a2b_base64()函数用于base64解码。

    import base64
    s = 'hello, world'
    base64.b64encode(bytes(s, 'ascii'))
    b'aGVsbG8sIHdvcmxk'
    base64.b64decode(base64.b64encode(bytes(s, 'ascii')))
    b'hello, world'
    

    2.md5

    Python2.x中有md5模块,此模块调用了hashlib模块,python3.x已中将md5取掉,直接通过调用hashlib模块来进行md5。Python2.x可以直接使用unicode字符,但3.x中必须使用二进制字节串。

    import hashlib
    m = hashlib.md5()
    m.update(b'hello, world!')
    m.hexdigest()
    '3adbbad1791fbae3ec908894c4963870'
    

    3.sha1

    类似于MD5

    import hashlib
    m = hashlib.sha1()
    m.update(b'hello, world!')
    m.hexdigest()
    '1f09d30c707d53f3d16c530dd73d70a6ce7596a9'

    4.crc32

    计算指定内容的crc32校验值,可以用zlib以及binascii模块的crc32函数.

    import zlib
    import binascii
    s = b'hello, world!'
    zlib.crc32(s)
    1486392595
    binascii.crc32(s)
    1486392595
    

关键字