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

作者:nudt_qxx 时间:2023-06-05 01:03:42 

本文实例讲述了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'

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

文字在线加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

MD5在线加密工具:
http://tools.jb51.net/password/CreateMD5Password

在线散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在线sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

希望本文所述对大家Python程序设计有所帮助。

来源:https://blog.csdn.net/xiangxianghehe/article/details/52755918

标签:python3,加密算法,base64,MD5
0
投稿

猜你喜欢

  • django 解决manage.py migrate无效的问题

    2021-08-18 02:28:51
  • python的keyword模块用法实例分析

    2022-04-06 07:56:22
  • Python入门之模块和包用法详解

    2021-08-28 10:58:14
  • 新书:《精通CSS网页布局》

    2009-01-08 11:57:00
  • 解读python基于netconf协议获取网元的数据

    2023-06-29 20:26:23
  • golang中interface接口的深度解析

    2024-05-08 10:52:00
  • Python使用文件锁实现进程间同步功能【基于fcntl模块】

    2022-07-04 17:45:15
  • Python和Go成为2019年最受欢迎的黑客工具(推荐)

    2021-05-22 16:37:17
  • Javascript编写Asp时需要注意的一些地方

    2008-04-06 14:20:00
  • Python如何使用字符打印照片

    2023-06-12 09:20:34
  • flask session组件的使用示例

    2022-03-17 08:13:07
  • Go语言基础模板设计模式示例详解

    2024-02-01 16:29:32
  • Javascript中的函数声明与函数表达式(奇技淫巧)

    2024-04-23 09:08:43
  • Django零基础入门之模板变量详解

    2023-03-19 11:17:16
  • vue文本识别"\\n"换行问题的解决方式

    2024-05-09 10:51:43
  • Python语言的12个基础知识点小结

    2023-08-23 10:12:07
  • MySql存储过程与函数详解

    2024-01-13 16:32:56
  • 简单了解操作mysql数据库的命令行神器mycli

    2024-01-24 03:44:14
  • 在Django的模型中添加自定义方法的示例

    2021-12-07 17:14:58
  • Win11平台安装和配置NeoVim0.8.2编辑器搭建Python3开发环境详细过程(2023最新攻略)

    2023-06-06 21:28:07
  • asp之家 网络编程 m.aspxhome.com