我们在储存一些重要的数据的时候,通常会将这些数据进行加密后进行储存。python中的hashlib为我们提供了这样的功能,其中主要包括MD5,SHA1,SHA256,SHA384,SHA512

等常见摘要算法。

什么是摘要算法?摘要算法又称哈希算法,它通过一个函数,把一个任意长度的数据进行加密后生成固定长度的数据串。

MD5是最常见的摘要算法,速度很快,生成固定长度128bit字节

SHA算法的结果是160bit,越安全的算法意味着其速度会相应变慢。

所以常见的算法为MD5和sha1算法。

使用的例子

import hashlibdef encrypt(arg):s = bytes(arg,encoding = "utf-8")md5 = hashlib.md5()md5.update(s)return md5.hexdigest()str1 = "hi hashlib"
print(encrypt(str1))

其结果为

7cd5fd2b70cc4f543412a849e167dd55

使用其它的算法使用方式一样,区别只是其内部的算法实现不一样,相当于为我们提供了这些接口我们去使用。

但是往往只是经过这样的加密,其实并不是很安全,我们可以通过撞库的方式去获取这些重要的信息(我们可以列举出常用地字符串,生成相应的密码,然后作比较),这时我们可以通过在原来字符串的基础上自己提供一个key的字符串,先对这个字符串进行处理,然后再对想加密的数据进行加密。只要我们不将自己设定的字符串暴露,基本上无法破解。

例子

import hashlibdef encrypt(arg):s = bytes(arg,encoding = "utf-8")md5 = hashlib.md5(bytes("too young to simple",encoding="utf-8"))md5.update(s)return md5.hexdigest()str1 = "hi hashlib"
print(encrypt(str1))

其结果为

856800434f7d4f6d5b3dc62920f0105c

python中hashlib模块相关推荐

  1. Python中hashlib模块详解

    文章目录 一.hashlib的简介 二.hashlib的使用 1.常用属性 2.常用方法 3.使用示例 三.hashlib的特点 四.代码实操 1.举例子 2.应用场景案例 一.hashlib的简介 ...

  2. python hashlib_python中hashlib模块用法示例

    我们以前介绍过一篇Python加密的文章:Python 加密的实例详解.今天我们看看python中hashlib模块用法示例,具体如下. hashlib hashlib主要提供字符加密功能,将md5和 ...

  3. python sys模块作用_浅谈Python中的模块

    模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Mod ...

  4. python中Scipy模块求取积分

    python中Scipy模块求取积分的方法: SciPy下实现求函数的积分的函数的基本使用,积分,高等数学里有大量的讲述,基本意思就是求曲线下面积之和. 其中rn可认为是偏差,一般可以忽略不计,wi可 ...

  5. python中的time库安装步骤-python中time模块需要安装么

    time是python自带的模块,用于处理时间问题,提供了一系列的操作时间的函数. time模块中时间表现的格式主要有三种:(推荐学习:Python视频教程) timestamp时间戳,是以秒表示从& ...

  6. 关于python中requests模块导入问题-python中requests模块的使用方法

    本文实例讲述了python中requests模块的使用方法.分享给大家供大家参考.具体分析如下: 在HTTP相关处理中使用python是不必要的麻烦,这包括urllib2模块以巨大的复杂性代价获取综合 ...

  7. python哪里下载import包-详解python中的模块及包导入

    python中的导入关键字:import 以及from import 1.import import一般用于导入包以及模块. 不过有个小问题: (1)当导入的是模块的时候是可以直接可以使用模块内的函数 ...

  8. python中copy模块的使用,深拷贝和浅拷贝

    python中copy模块的使用,深拷贝和浅拷贝 文章目录: 一.copy模块的介绍 1.copy模块 二.copy模块的使用 拓展说明: 1.id( )函数的使用 2.is和== 的区别 pytho ...

  9. python中的模块和包

    模块 一 什么是模块 模块就是一组功能的集合体,可以通过导入模块来复用模块的功能. 比如我在同一个文件夹定义两个.py文件,分别命名为A.py和B.py,那么可以通过在A文件里通过import B来使 ...

最新文章

  1. docker 同时停止删除容器 强制删除容器
  2. Android保存自定义路径的图片的一些问题
  3. IOC容器特性注入第一篇:程序集反射查找
  4. LiveVideoStack 2020 年度盘点
  5. ppt怎么加注解文字_向PPT2013演示文稿中添加批注将反馈和想法添加到演示文稿...
  6. Newbe.Claptrap 0.10.2 发布,Blazor 演示
  7. java 泛型和类型擦除_关于Java泛型和擦除
  8. IText 生成页脚页码
  9. C语言实现线性动态(单向)链表【详细步骤】
  10. 你的开发好帮手:下一代云原生开发工具技术
  11. 如何在win7上添加自动启动项
  12. python编程常用类型_Python 高级编程系列__03:python 中常见的内置类型
  13. .net5 不支持winform_.NET 5.0 RC 2 发布,正式版将在11月.NET Conf大会上发布
  14. 80c51流水灯汇编语言,单片机AT89C51可控流水灯课程设计报告(汇编语言).docx
  15. 硬盘安装Windows需要了解的DOS命令
  16. TensorFlow实战minist数据集 softmax回归分类(一)
  17. opencv学习——翻转摄像头
  18. 数据库管理系统(DBMS)
  19. 怎么创建一个网站?【建立网站】
  20. java通过LocalDateTime获取上周几

热门文章

  1. ubuntu找不到网卡,不显示网络问题
  2. L2正则化缓解过拟合实例
  3. VUE项目 Iview UI 文件夹上传
  4. 计算机音乐 留学,美国音乐留学知多少?
  5. 270. 使用Spinnaker发版及生产环境实践
  6. Spinnaker第二节-微服务设计
  7. 阿里云上搭建私网DNS的几种方案
  8. FocusLab新生大礼包之:一些常用的Linux命令教程
  9. 我居然在GAAS的硬件清单上看到了权盛光流,又想起ZN无人机课程他们购买无人机配件也是在权盛
  10. 大概是:整数划分||DP||母函数||递推