python3 常见解密加密算法实例分析【base64、MD5等】


Posted in Python onDecember 19, 2019

本文实例讲述了python3 常见解密加密算法。分享给大家供大家参考,具体如下:

一.使用base64

Base64编码,64指A-Z、a-z、0-9、+和/这64个字符,还有“=”号不属于编码字符,而是填充字符。

优点:方法简单

缺点:不保险,别人拿到密文可以自己解密出明文

编码原理:将3个字节转换成4个字节((3 X 8)=24=(4X6)),先读入3个字节,每读一个字节,左移8位,再右移四次,每次6位,这样就有4个字节了。

解码原理:将4个字节转换成3个字节,先读入4个6位(用或运算),每次左移6位,再右移3次,每次8位,这样就还原了。

Python3中base64模块与Python2使用方法有了明显的不一样,接下来简要介绍下base64模块。

Python 3.5.2+ (default, Aug  5 2016, 08:07:14)
[GCC 6.1.1 20160724] on linux
Type "help", "copyright", "credits" or "license" for more information.

首先导入base64模块

>>> import base64
>>> my_str='hello'

然后把字符串转码为UTF-8格式:

>>> utf_str=my_str.encode(encoding="utf-8")
>>> utf_str
b'hello'

我们试着用Base64方式加密:

>>> word=base64.b64encode(utf_str)
>>> word
b'aGVsbG8='

最后用Base64方式解密:

>>> hello=base64.b64decode(word.decode())
>>> hello
b'hello'
>>> hello.decode()
'hello'

可以看到,已经成功解密出来!

二.使用pycrypto

Python有个专门的加密解密工具包pycropto,这个包里面实现了MD2,MD4,MD5,RIPEMD,SHA1,SHA256等加密算法。

>>> from Crypto.Hash import MD5
>>> obj = MD5.new()
>>> obj.update(b"hello")
>>> obj.hexdigest()
>>> obj.hexdigest()
'5d41402abc4b2a76b9719d911017c592'
Python 相关文章推荐
基于Django模板中的数字自增(详解)
Sep 05 Python
python通过opencv实现批量剪切图片
Nov 13 Python
通过Python 获取Android设备信息的轻量级框架
Dec 18 Python
python机器学习之神经网络实现
Oct 13 Python
python实现按行分割文件
Jul 22 Python
pygame实现俄罗斯方块游戏(对战篇1)
Oct 29 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 Python
Python字典生成式、集合生成式、生成器用法实例分析
Jan 07 Python
tensorflow 环境变量设置方式
Feb 06 Python
Python networkx包的实现
Feb 14 Python
python如何安装下载后的模块
Jul 03 Python
python 实现弹球游戏的示例代码
Nov 17 Python
Python定义函数时参数有默认值问题解决
Dec 19 #Python
Python爬取腾讯视频评论的思路详解
Dec 19 #Python
使用Pandas将inf, nan转化成特定的值
Dec 19 #Python
pandas中read_csv的缺失值处理方式
Dec 19 #Python
python错误调试及单元文档测试过程解析
Dec 19 #Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
Dec 19 #Python
解决Python列表字符不区分大小写的问题
Dec 19 #Python
You might like
Php Cookie的一个使用注意点
2008/11/08 PHP
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
jquery中获取元素的几种方式小结
2011/07/05 Javascript
js实现的仿新浪微博完美的时间组件升级版
2011/12/20 Javascript
javascript特殊用法示例介绍
2013/11/29 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
JavaScript中的类型检查
2020/02/03 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
vue实现按钮切换图片
2021/01/20 Vue.js
python端口扫描系统实现方法
2014/11/19 Python
Django的session中对于用户验证的支持
2015/07/23 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
python实现打砖块游戏
2020/02/25 Python
django rest framework 自定义返回方式
2020/07/12 Python
Python3如何使用range函数替代xrange函数
2020/10/05 Python
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
美国电视购物:QVC
2017/02/06 全球购物
简历的自我评价
2014/02/03 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
学习保证书怎么写
2015/02/26 职场文书
2015中学政教处工作总结
2015/07/22 职场文书
直播实况, OMG破敌三路五十分钟大战神技局摩托车
2022/04/01 DOTA
深入理解pytorch库的dockerfile
2022/06/10 Python