1.加密算法分类

2.hashlib库

1.MD5加密:全称MD5消息摘要算法

最主要的一种加密方式,使用广泛

python代码举例:

>>> import hashlib
>>> m = hashlib.md5("123456".encode("utf-8"))
>>> m
<md5 _hashlib.HASH object @ 0x000001ED53875B30>
>>> m.hexdigest()
'e10adc3949ba59abbe56e057f20f883e'

注意:要加入.encode("utf-8")将字符转变为字节数据,否则就会报错

要查看加密后的数字123456,则需要调用hexdigest方法

2.那么如何去破解这个密码?

最简单的方法就是可以用这个网站:https://cmd5.com/

只需要将密文输入就可以进行查询,但并不能解密所有密文,即越难的密文越难破解

3.如何使密文更难被破解?

可以使用盐值混淆

我们对前面的123456使用盐值混淆

调用update方法,在后面加入复杂的字符

用法示例:

>>> m.update("*&$#".encode("utf-8"))
>>> m.hexdigest()
'2723781bcf1c61397bf000e4057aa9ad'

最后得到的密文就较为复杂,难以破解,盐值越复杂,则越安全。

3.hmac

hmac加密全称:散列消息鉴别码

用到的是对称加密,也是哈希加密库

参数:第一个参数是要加密的字符串,第二个参数是盐值,第三个参数是加密算法

用法示例:

>>> import hmac
>>> m = hmac.new("123456".encode("utf-8"),"*&hihi".encode("utf-8"),hashlib.md5)
>>> m.hexdigest()
'28bb7a98a2008101fd7729c4f30e45e6'

加密原理:使用对称加密,密钥就是盐值,然后进行了一次MD5加密,使得更加安全

python中常用的加密算法相关推荐

  1. Python中常用的数据分析工具(模块)有哪些?

    本期Python培训分享:Python中常用的数据分析工具(模块)有哪些?Python本身的数据分析功能并不强,需要安装一些第三方的扩展库来增强它的能力.我们课程用到的库包括NumPy.Pandas. ...

  2. Python中常用的一些操作总结(未完待续)update @ 2017-5-18

    写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的blog,但是我又不想写没有价值的东西.或许有价值 ...

  3. Python中常用的高阶函数

    Python 中常用的高阶函数 ① filter(function,iterable)filter(function, iterable)filter(function,iterable)   过滤器 ...

  4. python中常用的模块二

    一.序列化 指:在我们存储数据的时候,需要对我们的对象进行处理,把对象处理成方便存储和传输的数据格式,这个就是序列化, 不同的序列化结果不同,但目的是一样的,都是为了存储和传输. 一,pickle.可 ...

  5. security中常用的加密算法

    本文来说下security中常用的加密算法 文章目录 概述 概述

  6. python中常用的九种预处理方法

    本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(Standardization or Mean Removal ...

  7. Python中常用的内置方法

    Python中常用的内置方法: 比较大小.求和 如下所示: 代码块: #枚举:返回索引值和对应的value值for i,v in enumerate('westos'):print(i,v)#zips ...

  8. Python入门基础-六、案例3 基础代谢率(BMR)计算器 #Python中常用的数值类型#字符串分割与格式化输出#异常处理机制

    (课程相关的所有资料代码,已上传至CSDN,请自行下载 https://download.csdn.net/download/qq_34243930/10764180 ) BMR 计算器 1.0 Py ...

  9. Python中常用函数

    Python中常用函数 1.range( )函数 函数定义: range(stop) range(start, stop[, step]) 返回值:返回一个递增或递减的数字列表,列表的元素值由三个参数 ...

最新文章

  1. 【activeMQ】一、入门
  2. [导入]php 安全基础 附录C. 加密
  3. 「雅礼集训 2017 Day5」珠宝
  4. 【Python】学习笔记总结3(Python文件操作)
  5. java位操作_关于java按位操作运算
  6. (06)Vivado约束基础
  7. php 管道,PHP 进程间通信---管道篇
  8. pe linux 引导修复工具下载,winpe系统引导修复工具
  9. 一键解决局域网共享(批处理)
  10. DDcGAN:用于多分辨率图像融合的双判别器生成对抗网络
  11. java-php-python-ssm制药企业人力资源管理系统计算机毕业设计
  12. CCF CSP20190301小中大(100分)(python)
  13. win10无限蓝屏_WIN10无限重启怎么解决,现在开不了机
  14. c语言 srand,函数srand在C中
  15. 虚拟机 服务器死机,VMware虚拟机开机卡死黑屏,进不了系统解决办法
  16. 【SDCC讲师专访】房芳:高德地图开放平台,一场本地生活服务市场入口的争夺战
  17. Python3 浮点数精度问题
  18. (Python)Numpy矩阵增加/减少一个维度
  19. 生产队有没有驴,我说的算
  20. 简易的四位随机数生成

热门文章

  1. 项目管理SPI,CPI,CV,SV
  2. 【文件整理工具】Python 代码整理我们电脑中的文件,So easy!
  3. 《加州消费者隐私法案》(CCPA)解读四:违反CCPA,企业会面临什么处罚?
  4. LTE下行传输机制--PDSCH
  5. android 安装包反编译以及重新打包
  6. dc_shell教程
  7. 元宇宙赋能数字文创 | 蓝海创意云受邀发表瑶海区文化创意产业数字化高峰论坛主题演讲
  8. 阿里云RDS导出数据库结构整理工具
  9. 如何将word中嵌入mathtype:简洁明了的办法
  10. 如何看待转行或跳槽呢?如何才能做出正确的选择呢?