zoukankan      html  css  js  c++  java
  • hashlib加密

    一、hashlib的基本组成:

    1.hashlib库是python3的标准库,主要用于数据的加密,以下是hashlib的方法及属性。

    >>> import hashlib
    >>> dir(hashlib)
    ['__all__', '__builtin_constructor_cache', '__builtins__', '__cached__', '__doc__', '__file__', '__get_builtin_constructor', '__loader__', '__name__', '__package__', '__spec__', '_hashlib', 'algorithms_available', 'algorithms_guaranteed', 'blake2b', 'blake2s', 'md5', 'new', 'pbkdf2_hmac', 'sha1', 'sha224', 'sha256', 'sha384', 'sha3_224', 'sha3_256', 'sha3_384', 'sha3_512', 'sha512', 'shake_128', 'shake_256']
    2.hashlib在各种平台都支持的算法包括:

    >>> hashlib.algorithms_guaranteed
    {'sha3_384', 'sha3_512', 'sha224', 'blake2b', 'shake_256', 'blake2s', 'sha512', 'sha3_224', 'sha3_256', 'sha1', 'shake_128', 'sha384', 'md5', 'sha256'}

    其中运用比较多的是md5算法。

    3.hashlib在当前pyhton解释器支持的算法包括:

    >>> hashlib.algorithms_available
    {'RIPEMD160', 'ripemd160', 'sha', 'sha3_224', 'ecdsa-with-SHA1', 'SHA', 'blake2b', 'md5', 'sha256', 'SHA256', 'blake2s', 'sha3_256', 'MD5', 'SHA512', 'SHA1', 'whirlpool', 'dsaEncryption', 'DSA-SHA', 'sha3_384', 'sha3_512', 'sha224', 'shake_256', 'SHA224', 'md4', 'sha512', 'sha1', 'SHA384', 'shake_128', 'DSA', 'MD4', 'dsaWithSHA', 'sha384'}

    二、hashlib主要方法:

    1.hashlib.new(method,[data])方法:构建一个method加密对象,加密数据为data.

    >>> m=hashlib.new('md5',b'China')
    >>> m.digest()#返回二进制加密数据
    b'xaeTxa5xc0&xf3x1axdax08x89x92X}x92xcb:'
    >>> m.hexdigest()#返回十六进制加密数据
    'ae54a5c026f31ada088992587d92cb3a'

    注意:data必须为bytes类型数据。中文字的话通过encode()方法转化为bytes类型数据。

    三、md5方法:

    md5方法位于hashlib模块内。

    >>> m=hashlib.md5()
    >>> m.update(b'China')
    >>> m.hexdigest()
    'ae54a5c026f31ada088992587d92cb3a'

    update()方法加密是叠加的,例如:m.update(b'China')与m.update(b'Chi'),m.update('na')后的结果一样。

  • 相关阅读:
    能用HTML/CSS解决的问题,就不要用JS
    跨域
    从输入url到页面展示到底发生了什么
    hosts 文件
    了解Web及网络基础
    hybrid
    组件化和 React
    MVVM 和 VUE
    虚拟 DOM
    ES6模块化与常用功能
  • 原文地址:https://www.cnblogs.com/zhuluqing/p/8480882.html
Copyright © 2011-2022 走看看