• python常用模块——hashlib


    加密模块 hashlib

    python中的hashlib模块主要提供了两种加密算法;一种的md5,另一种是sha;

    方法:

    1. md5 = openssl_md5(...)

    返回一个md5对象;把字符串转换为字节形式;
    

    2. sha1 = openssl_sha1(...)

    返回一个sha1对象;把字符串转换为字节形式;    
    

    3. sha224 = openssl_sha224(...)

    返回一个sha224对象;把字符串转换为字节形式;
    

    4. sha256 = openssl_sha256(...)

    返回一个sha256对象;把字符串转换为字节形式;
    

    5. sha384 = openssl_sha384(...)

    返回一个sha384对象;把字符串转换为字节形式;
    

    6. sha512 = openssl_sha512(...)

    返回一个sha512对象;把字符串转换为字节形式;
    

    对于sha算法,越高,算法越复杂,安全度越高;但是加密效率也越低;sha256使用的是最多的;

    7. new = _hashnew(name, data=b'', **kwargs)

    返回一个新的hash对象(根据name命名的算法);加密数据必须是字节(二进制)形式;
    

    8. pbkdf2_hmac(...)

    pbkdf2_hmac(hash_name, password, salt, iterations, dklen=None) -> key
    基于密码的密钥派生函数2以HMAC为伪随机函数。
    

    加密对象的方法

    1. update(arg)

    用哈希表中的字节更新哈希对象。重复调用 相当于 将所有参数串联在一起单个调用;详见后面案例;

    2. digest()

    以二进制形式返回加密字符;即从加密对象中取字符串加密后的密文(二进制形式);

    3. hexdigest()

    以字符形式返回加密字符;即从加密对象中取字符串加密后的密文(字符串形式);

    4. copy()

    返回一个哈希对象的副本;

    案例

    下面以md5加密算法为例;其他算法一样;

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import hashlib
    
    m=hashlib.md5()
    print(m)                            #  输出 < md5 HASH object @ 0x00000245E45E03C8>
    m.update("wjz".encode('utf8'))
    m.update("wjk".encode('utf8'))
    print(m.hexdigest())                #  输出 0e48d6f05b543d8b513f918eb537b533
    print(m.digest())                   #  输出 b'x0eHxd6xf0[T=x8bQ?x91x8exb57xb53'
    
    m2=hashlib.md5()
    m2.update('wjzwjk'.encode('utf8'))
    print(m2.hexdigest())               #  输出 0e48d6f05b543d8b513f918eb537b533
    print(m2.digest())                  #  输出 b'x0eHxd6xf0[T=x8bQ?x91x8exb57xb53'
    

    从上面案例中,可以发现: 两次update字符串'wjz''wjk',等效于 一次update字符串'wjzwjk';

    如需转载,请注明出处,否则本人会追究法律责任!
  • 相关阅读:
    网页端打开手机上的app
    iOS 9学习系列:打通 iOS 9 的通用链接(Universal Links)
    自定义 URL Scheme 完全指南
    App开发流程之加密工具类
    iOS8系统H264视频硬件编解码说明
    人脸识别
    app上线具体流程
    第三方分享
    Android摸索-二、解决Android SDK Manager下载太慢问题
    Android摸索一环境搭建
  • 原文地址:https://www.cnblogs.com/hacker001/p/10094757.html
Copyright © 2020-2023  润新知