对称加密之---AES加密
工作中常会需要让数据传输前进行加密处理。这次用到的是AES加密。AES加密中,需要注意到坑还是挺多的。对AES也进行了一番了解,发现里面的东西真的是注意的太多了。今天只是整理了一种简单的加密格式,工作中使用肯定是够了,想要了解根深的AES加密还是需要再找些资料学习一下。
首先需要下载python的第三库Crypto:pip install Crypto
#!/usr/bin/env python
# -*- coding: utf-8 -*- from Crypto.Cipher import AES
import base64
import os BLOCK_SIZE = 16
PADDING = '\0' #文本补全方式
pad_it = lambda s: s+(16 - len(s)%16)*PADDING
key = '16bit' #key的长度必须为16的倍数
iv = ‘0000000000000000’ #偏移量 #使用aes算法,进行加密解密操作
#为跟java实现同样的编码,注意PADDING符号自定义
#加密
def encrypt_aes(sourceStr):
generator = AES.new(key, AES.MODE_CBC, iv) #MODE_CBC为加密模式
crypt = generator.encrypt(pad_it(sourceStr))
cryptedStr = base64.b64encode(crypt)
return cryptedStr #解密
def decrypt_aes(cryptedStr):
generator = AES.new(key, AES.MODE_CBC, iv)
cryptedStr = base64.b64decode(cryptedStr)
recovery = generator.decrypt(cryptedStr)
decryptedStr = recovery.rstrip(PADDING)
return decryptedStr sourceStr = 'password^*(&( 09-8ADF' print encrypt_aes(sourceStr)
print decrypt_aes(encrypt_aes(sourceStr))
对应的java加密方式看这里:https://www.cnblogs.com/aguncn/p/6069349.html
下面是AES加密的各个参数对应值

对称加密之---AES加密的更多相关文章
- 信息安全-加密:AES 加密
ylbtech-信息安全-加密:AES 加密 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一 ...
- 对称加密之AES加密详解
最近有人问我AES对称加密是啥,我回答了个大概,发现自己不能清晰的讲出来,特此记录,以供学习 一.对称加密 对称加密是最快速.最简单的一种加密方式,加密(encryption)与解密(decrypti ...
- 关于CryptoJS中md5加密以及aes加密的随笔
最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...
- 【Android工具】DES终结者加密时报——AES加密演算法
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 在前面的两篇文章中.我们介绍了DES算法,3DES算法以及他们的Android程序实现,并研究了怎样才干实现 ...
- C#实现DES加密解密,AES加密解密
DES算法描述简介: DES是Data Encryption Standard(数据加密标准)的缩写.它是由IBM公司研制的一种加密算法,美国国家标准局于1977年公布把它作为非机要部门使用的数据加密 ...
- c#RSA的SHA1加密与AES加密、解密
前言:公司项目对接了一个对数据保密性要求较高的java公司.api接口逻辑是这样的:他们提供 SHA1私钥 与 AES的秘钥.我们需要将 传递查询参数 通过SHA1 私钥加密再转换成 十六进制 字符串 ...
- C#对称加密(AES加密)每次生成的密文结果不同思路代码分享
思路:使用随机向量,把随机向量放入密文中,每次解密时从密文中截取前16位,其实就是我们之前加密的随机向量. 代码 public static string Encrypt(string plainTe ...
- Asp.Net Core 2.0 项目实战(7)MD5加密、AES&DES对称加解密
本文目录 1. 摘要 2. MD5加密封装 3. AES的加密.解密 4. DES加密/解密 5. 总结 1. 摘要 C#中常用的一些加密和解密方案,如:md5加密.RSA加密与解密和DES加密等, ...
- android 对称加密,非对称加密 android 常见的加密
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha android 常见的加密 ======== 不可逆加密:md5,sha1 可逆的加密中 ...
随机推荐
- 【Kata Daily 190903】String incrementer(字符串增量器)
原题: Your job is to write a function which increments a string, to create a new string. If the string ...
- pytorch训练GAN时的detach()
我最近在学使用Pytorch写GAN代码,发现有些代码在训练部分细节有略微不同,其中有的人用到了detach()函数截断梯度流,有的人没用detch(),取而代之的是在损失函数在反向传播过程中将bac ...
- 用微信小程序做一个小电商 sku
效果展示图 功能点概述 图一功能点有 搜索 轮播图 商品展示 图二功能点 导航栏 加入购物车 图四功能点 评论点 图五购物车 复选框 ( 全选全不选 ) 即点即改 总计结算 功能详解 1.A(搜索) ...
- W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
在执行sudo update-initramfs -u过程中 出现这个错误意思就是说少了固件,只要去下载放到/lib/firmware/i915文件夹下就好了. 下载链接如下: https://git ...
- 卡特兰数 洛谷P1641 [SCOI2010]生成字符串
卡特兰数 参考博客 介绍 卡特兰数为组合数学中的一种特殊数列,用于解决一类特殊问题 设\(f(n)\)为卡特兰数的第n项 其通项公式为 \[f(n)=\frac{2n\choose n}{n+1} \ ...
- 我发现了一个特别Man的Linux工具!!!
Linux命令不用我多说吧,谁还不会几个?但是一个命令可能有几十种用法,就拿最简单也是最常用的ls来举例,它就有将近20种options用法 比如 ls -a :现实所有文件及其隐藏文件 ls -t ...
- http 结构初始化
简要而说:accept 到连接后 根据fd 构建一个connection 由于是 http : 重新封装为http-connection:同时设置fd的读回调: 回调函数根据是否是https/htt ...
- 全文思维导图------redis设计与实现
- 幻读在 InnoDB 中是被如何解决的?(转)
在MySQL事务初识中,我们了解到不同的事务隔离级别会引发不同的问题,如在 RR 级别下会出现幻读.但如果将存储引擎选为 InnoDB ,在 RR 级别下,幻读的问题就会被解决.在这篇文章中,会先介绍 ...
- Apache Shiro (Shiro-550)(cve_2016_4437)远程代码执行 - 漏洞复现
0x00 漏洞原理 Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie.在服务端对rememberMe的cookie值, 先ba ...