python实现AES加密
pip install pycryptodomex
需要安装pycryptodomex模块
aes加密
from Cryptodome.Cipher import AES
from binascii import b2a_hex, a2b_hex
from config import secret_key class AESEncrypts:
def __init__(self):
self.key = secret_key[0:16].encode("utf-8")
self.BS = AES.block_size
self.pad = lambda s: s + (self.BS - len(s) % self.BS) * chr(self.BS - len(s) % self.BS)
self.un_pad = lambda s: s[0:-ord(s[-1])] def encrypt(self, clear_text):
aes = AES.new(self.key, AES.MODE_CBC, self.key)
return b2a_hex(aes.encrypt(self.pad(clear_text).encode('utf-8'))).decode("utf-8") def decrypt(self, cipher_text):
aes = AES.new(self.key, AES.MODE_CBC, self.key)
text = aes.decrypt(a2b_hex(cipher_text.encode("utf-8")))
return self.un_pad(text.decode("utf-8"))
des3 加密
BS = DES3.block_size
keylen = BS * 3
pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
pad_key = lambda s: (keylen - len(s) % keylen) * chr(keylen - len(s) % keylen) + s
unpad = lambda s: s[0:-ord(s[-1])] def Encrypt(key, data):
cipher = DES3.new(key=pad_key(key), mode=DES3.MODE_ECB)
return base64.b64encode(cipher.encrypt(pad(data).encode("utf-8"))) def Decrypt(key, data):
cipher = DES3.new(key=key, mode=DES3.MODE_ECB)
return unpad(cipher.decrypt(base64.b64decode(data)))
python实现AES加密的更多相关文章
- 使用Python进行AES加密和解密
摘录于:http://blog.csdn.net/nurke/article/details/77267081 另外参考:http://www.cnblogs.com/kaituorensheng/p ...
- Python 的AES加密与解密
AES加密方式有五种:ECB, CBC, CTR, CFB, OFB 从安全性角度推荐CBC加密方法,本文介绍了CBC,ECB两种加密方法的python实现 python 在 Windows下使用AE ...
- python实现AES加密、解密
AES加密方式有五种:ECB, CBC, CTR, CFB, OFB 从安全性角度推荐CBC加密方法,本文介绍了CBC,ECB两种加密方法的python实现 python 在 Windows下使用AE ...
- Python 的AES加密与解密-需要安装的模块
踩雷1: #先导入所需要的包 pip3 install Crypto #再安装pycrtpto pin3 install pycrypto from Crypto.Cipher import AES ...
- python 实现AES加密和解密
参考 https://blog.csdn.net/zhchs2012/article/details/79032656 AES加密算法是一种对称加密算法, 他有一个密匙, 即用来加密, 也用来解密 i ...
- C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现[转载]
原文:http://outofmemory.cn/code-snippet/35524/AES-with-javascript-java-csharp-python-or-php c#里面的AES加密 ...
- Python实现AES的CBC模式加密和解密过程详解 和 chr() 函数 和 s[a:b:c] 和函数lambda
1.chr()函数 chr() 用一个范围在 range(256)内的(就是0-255)整数作参数,返回一个对应的字符. 2.s[a:b:c] s=(1,2,3,4,5) 1>. s[a]下标访 ...
- js逆向之AES加密
故事背景: 在获取某网站接口数据时,发现其请求的 headers 中的参数 使用了 AES算法加密 ,并对其进行校验,在此简单记录下自己的踩坑历程. AES简介: 高级加密标准(AES,Advance ...
- JAVA和PYTHON同时实现AES的加密解密操作---且生成的BASE62编码一致
终于有机会生产JAVA的东东了. 有点兴奋. 花了一天搞完.. java(关键key及算法有缩减): package com.security; import javax.crypto.Cipher; ...
随机推荐
- jQuery 选择器有61种你都知道了多少
下面列举了61种jQuery 选择器 参考 选择器 语句 描述 * $("*") 选择所有元素 #id $("#lastname") id=“lastname” ...
- Linux环境oracle导库步骤
1.xshell登录linux 2.切换oracle用户 su - oracle 3.创建directory仓库目录,存放数据库dmp文件 //DIRFILE_zy 表示目录名称 后面的是实际地址 c ...
- jQuery中$符号的作用
jQuery中$符号的作用 1.查找作为jQuery包装器,利用选择器来选择DOM元素(这个也是最强大的功能) 例如:$("table tr:nth-child(even)") 基 ...
- linux 本地套接字通信
本地套接字通信 利用本地套接字,也可以进程间通信. 本地套接字和有名管道一样都利用伪文件 管道的文件类型是p 本地套接字的文件类型是s. 当调用bind函数后,就会生成本地套接字对应的伪装文件 srw ...
- STM32芯片命名规则
- MATLAB之指定文件读取与读取地址输出
一.读取指定文件夹下的指定格式文件 (1) 利用命令 uigetdir('','') 参数解释: uigetdir('所要打开的盘地址','对打开的弹出框进行描述') 例如:uigetdir('C:\ ...
- day35_8_19 数据库
一.存储引擎 不同的数据应该有不同的处理机制 MySQL中也有不同的存储引擎: 1.InnoDB MySQL默认的存储引擎. innoDB比myisam存储数据要安全. innoDB支持事务. inn ...
- 整合SpringTask实现定时任务
一.框架介绍 SpringTask是Spring自主研发的轻量级定时任务工具,相比于Quartz更加简单方便,且不需要引入其他依赖即可使用. 二.Corn表达式 概述 Cron表达式是一个字符串,包括 ...
- maven介绍(一)
一.什么是maven Maven 翻译过来就是专家,其官网为: http://maven.apache.org/ Maven使用POM (Project Object Model)项目对象模型,就是通 ...
- LeetCode 654. Maximum Binary Tree最大二叉树 (C++)
题目: Given an integer array with no duplicates. A maximum tree building on this array is defined as f ...