简单了解Python hashlib模块

 更新时间:2020-10-10 04:02:17   作者:佚名   我要评论(0)

一.hashlib模块
用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供
:SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。
1.使用hashlib模块进行MD5加密。

一.hashlib模块

用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供

:SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。

1.使用hashlib模块进行MD5加密。

import hashlib

m = hashlib.md5()

m.update(b"Hello")

m.update(b"It's me")

print(m.hexdigest())

m.update(b"It's been a long time since last time we ...")

print(m.digest())

注:hashlib.md5():创建一个md5加密参数。

注:变量.hexdigest():十六进制加密。

注:变量.digest():二进制加密

注:总共有32个值。

2.使用SHA1算法加密。

import hashlib

s2 = hashlib.sha1()

s2.update(b"abc")

print(s2.hexdigest())

注:总共有38个值。

3.使用SHA256算法加密

s2 = hashlib.sha256()

s2.update(b"abc")

print(s2.hexdigest())

print(len(s2.hexdigest()))

注:有64个加密数值。

4.使用SHA384算法加密。

import hashlib

s2 = hashlib.sha384()

s2.update(b"abc")

print(s2.hexdigest())

print(len(s2.hexdigest()))

注:有96个加密数值。

5.使用SHA512算法加密。

import hashlib

s2 = hashlib.sha512()

s2.update(b"abc")

print(s2.hexdigest())

print(len(s2.hexdigest()))

注:有128个加密数值。

二.加密算法进阶

import hmac
h = hmac.new('wueiqi')
h.update('hellowo')
print h.hexdigest()

注:相当于加密后又进行一层加密。双层加密。

import hmac

h = hmac.new(b"xsk","y风的风x".encode(encoding="utf-8"))

print(h.digest())

print(h.hexdigest())

注:双层加密。

注:加入中文key需要,转换字符类型。

以上就是简单了解Python hashlib模块的详细内容,更多关于Python hashlib模块的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
  • Python字符串hashlib加密模块使用案例
  • Python加密模块的hashlib,hmac模块使用解析
  • Python hashlib模块实例使用详解
  • Python hashlib加密模块常用方法解析
  • python模块hashlib(加密服务)知识点讲解
  • Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
  • 详解python中的hashlib模块的使用
  • Python hashlib模块用法实例分析
  • Python内置模块hashlib、hmac与uuid用法分析
  • Python基于hashlib模块的文件MD5一致性加密验证示例
  • Python3 加密(hashlib和hmac)模块的实现

相关文章

  • 简单了解Python hashlib模块

    简单了解Python hashlib模块

    一.hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 :SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。 1.使用hashlib模块进行MD5加密。
    2020-10-10
  • Python尾递归优化实现代码及原理详解

    Python尾递归优化实现代码及原理详解

    在传统的递归中,典型的模式是,你执行第一个递归调用,然后接着调用下一个递归来计算结果。这种方式中途你是得不到计算结果,知道所有的递归调用都返回。 这样虽然
    2020-10-10
  • Java两种方式实现动态代理

    Java两种方式实现动态代理

    一、JDK动态代理 Java 在 java.lang.reflect 包中有自己的代理支持,该类(Proxy.java)用于动态生成代理类,只需传入目标接口、目标接口的类加载器以及 Invocation
    2020-10-10
  • Python判断变量是否是None写法代码实例

    Python判断变量是否是None写法代码实例

    代码中经常会有变量是否为None的判断,有三种主要的写法: 第一种是`if x is None`; 第二种是 `if not x:`; 第三种是`if not x is None`(这句这样理解更
    2020-10-10
  • java 枚举enum的用法(与在switch中的用法)

    java 枚举enum的用法(与在switch中的用法)

    实际开发中,很多人可能很少用枚举类型。更多的可能使用常量的方式代替。但枚举比起常量来说,含义更清晰,更容易理解,结构上也更加紧密。看其他人的博文都很详细,
    2020-10-10
  • Python批量获取并保存手机号归属地和运营商的示例

    Python批量获取并保存手机号归属地和运营商的示例

    从Excel读取一组手机号码,批量查询该手机号码的运营商和归属地,并将其追加到该记录的末尾。 import requests import json import xlrd from xlutils.copy impor
    2020-10-10
  • Python特殊属性property原理及使用方法解析

    Python特殊属性property原理及使用方法解析

    1 什么是特性property property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 import math class Circle: def __init__(self,radius): #圆的半径
    2020-10-10
  • Python类绑定方法及非绑定方法实例解析

    Python类绑定方法及非绑定方法实例解析

    一、绑定方法   1.对象的绑定方法   首先我们明确一个知识点,凡是类中的方法或函数,默认情况下都是绑定给对象使用的。下面,我们通过实例,来慢慢解析绑
    2020-10-10
  • 在.NET中使用DiagnosticSource的方法

    在.NET中使用DiagnosticSource的方法

    前言 DiagnosticSource是一个非常有意思的且非常有用的API,对于这些API它们允许不同的库发送命名事件,并且它们也允许应用程序订阅这些事件并处理它们,它使我们
    2020-10-07
  • ASP.NET Core 实现基本认证的示例代码

    ASP.NET Core 实现基本认证的示例代码

    HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authentication)是一种允许网页浏览器或其他客户端程序以(用户名:口令) 请求资源的身份验证方式,不要求cookie,sess
    2020-10-07

最新评论