python3.6执行AES加密及解密方法

python版本:3.6.2

首先安装pycryptodome

cmd执行命令:pip install pycryptodome

特别简单,代码如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import base64

from Crypto.Cipher import AES

# str不是16的倍数那就补足为16的倍数
def add_to_16(text):
    while len(text) % 16 != 0:
        text += ‘\0‘
    return str.encode(text)  # 返回bytes

key = ‘123456‘  # 密码

text = ‘abc123def456‘  # 待加密文本

aes = AES.new(add_to_16(key), AES.MODE_ECB)  # 初始化加密器

encrypted_text = str(base64.encodebytes(aes.encrypt(add_to_16(text))), encoding=‘utf8‘).replace(‘\n‘, ‘‘)  # 加密

text_decrypted = str(aes.decrypt(base64.decodebytes(bytes(encrypted_text, encoding=‘utf8‘))).rstrip(b‘\0‘).decode("utf8"))  # 解密

print(‘加密值:‘, encrypted_text)

print(‘解密值:‘, text_decrypted)
运行结果为:
加密值: qR/TQk4INsWeXdMSbCDDdA==

解密值: abc123def456

上面网址是 http://tool.chacuo.net/cryptaes

---------------------

本文来自 华贺 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/hh775313602/article/details/78991340?utm_source=copy

原文地址:https://www.cnblogs.com/php-linux/p/9753981.html

时间: 2024-10-06 00:22:36

python3.6执行AES加密及解密方法的相关文章

iOS开发之Objective-c的AES加密和解密算法的实现

原文:http://www.lidaren.com/archives/1470 高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法. 以下实现代码中分别为NSData和NSString增加了一个Category.使用时直接调用即可. 需要注意的是,AES并不能作为HASH算法,加密并解密后的结果,并不一定与原文相同,使用时请注意进行结果验算.例如解密原文的长度,格式规则等. NG实例 原文:170987350 密码:170 Objecti

PHP 加密 和 解密 方法

关于Discuz的加密解密函数,相信大家都有所了解,该authcode函数可以说是对PHP界作出了重大的贡献,真的发觉discuz这个函数写的太精彩啦. 研究了一下这个算法,总的来说可以归纳为以下三点: 1,动态性,同一字符串使用相同的key,每次加密的密文都不一样,而解密方法只有一个,其实就是把解密的信息放到了密文上面. 2,时效性,可以自己加一个限期参数,以秒为单位,这个其实就是在密文里加入了有效时间. 3,统一性,加密和解密都用同一个函数,而且用了比较简单的异或算法. 由于该函数具有以上功

polarssl rsa & aes 加密与解密

上周折腾加密与解密,用了openssl, crypto++, polarssl, cyassl, 说起真的让人很沮丧,只有openssl & polarssl两个库的RSA & AES 加密和解密,我用起来了,crypto++各种模板,各种多继承,看的头大,而且对各种常用的加密算法也不了解,所以这个库我在折腾了一天之后就放弃了:cyassl这个库现在没什么印象了:openssl没什么好说的,用起来很方便,尤其是使用win32openssl,都不用自己编译,下载下来安装好了就能用,着实方便:

说一说ASP.NET web.config 加密及解密方法 (代码)

/// <summary> /// 保护web.config的加密和解密 /// </summary> public class ProtectHelper { /// <summary> /// 解密 /// </summary> /// <param name="pToDecrypt">加密连接字符串</param> /// <param name="sKey">自定义密钥<

Java aes加密C#解密的取巧方法

摘要: 项目开发过程中遇到一个棘手的问题:A系统使用java开发,通过AES加密数据,B系统使用C#开发,需要从A系统获取数据,但在AES解密的时候遇到麻烦.Java的代码和C#的代码无法互通. Java代码: /** * 加密 * * @param content 需要加密的内... 项目开发过程中遇到一个棘手的问题:A系统使用java开发,通过AES加密数据,B系统使用C#开发,需要从A系统获取数据,但在AES解密的时候遇到麻烦.Java的代码和C#的代码无法互通. Java代码: /**

使用Python3进行AES加密和解密 输入的数据

高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用.经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准.2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一.---百度百科 本科的时候弄过DES

iOS客户端学习 AES加密和解密

数据加密在解密在软件开发过程中举足轻重的作用,可能有的公司在加密的时候有自己公司内部一套设计的算法,而在这方面不想浪费太大精力就可以去考虑使用第三方提供的加密算法,如AES加密算法,本篇内容介绍开源中国iOS客户端使用ASE算法加密密码: AES   GitHub 下载地址  https://github.com/Gurpartap/AESCrypt-ObjC 对一个比较大的工程我们可能都不知道某个类库或者方法在哪被使用,但是智能的Xcode给我们提供了一个全局搜索的功能,我们可以在真个工程中来

c# AES加密,解密

转载:http://www.cnblogs.com/kevin-top/archive/2010/07/01/1769351.html using System;using System.Text;using System.Security.Cryptography;using System.IO; namespace MyCryptography{    /// <summary>    /// DES加密解密    /// </summary>    public class 

CryptoJS AES加密、解密练习demo

<!DOCTYPE html> <html> <head>     <title>aes demo</title>     <meta charset="utf-8"/>     <style>         *{margin:0;padding:0}         .demo-wrap{width: 400px;height: 50px;margin: 50px auto auto auto}