文档章节

Python加密—AES加密(2)

xinxin_
 xinxin_
发布于 2016/07/29 16:16
字数 177
阅读 7
收藏 0

AES 加密算法,AES 为 CBC 模式。

key: 16 个字符的密钥

iv: 16 个字符长的 IV

code = {                                 #加密文本必须为16的倍数
    "key1": 'value1',
    "key2": 'value1',
    "key3": 'value1',
    "key4": 'value1',
}
key: 'CwcnldOjID07WHKV'
iv: '1973874772082924'

将code组成json串,加密出的二进制数据采用base64加密。

import base64
from Crypto.Cipher import AES

BS = 16


def padding(s):
    return s + (BS - len(s) % BS) * chr(BS - len(s) % BS)

def unpadding(s):
    return s[0:-ord(s[-1])]


#加密
code = 'hello, world'
key = 'CwcnldOjID07WHKV'
iv = '1973874772082924'
obj = AES.new(key, AES.MODE_CBC, iv)
b = obj.encrypt(padding(code))
aes_code = base64.b64encode(b).decode('utf8')
print('加密数据:', aes_code)

#解密
code2 = 'RmBQezvawfhcWWUWW1K7eg=='
obj = AES.new(key, AES.MODE_CBC, iv)
encrypted = obj.decrypt(base64.b64decode(code2))
decryption_code = unpadding(encrypted.decode('utf8'))
print('解密数据:', decryption_code)

 

运行结果:

加密数据: RmBQezvawfhcWWUWW1K7eg==
解密数据: hello, world

 

 

 

© 著作权归作者所有

共有 人打赏支持
xinxin_
粉丝 4
博文 82
码字总数 16427
作品 0
南京
程序员
私信 提问
C/S 架构的加密通信库 - Python-SecureHTTP

说在前面: 在HTTP协议中,传输数据是明文,被第三方截获后很容易看出数据,所以现在主流建议是HTTPS加密传输,如Chrome,新版本用HTTP会提示不安全。 除此之外,我们也可以约定一种或多种加...

匿名
01/18
0
0
ubuntu安装配置shadowsocks server

安装 配置 找到shadowsocks文件夹: sudo find / -name shadows* 新建一个 config.json 具体含义: server 服务器 IP (IPv4/IPv6),注意这也将是服务端监听的 IP 地址 server_port 服务器端口...

唯慕清风
2015/08/24
0
0
ubuntu14 下安装 shadowsocks

shadowsocks 的项目主页: https://github.com/clowwindy/shadowsocks 首先你要有一台墙外的 VPS,我的是 Ubuntu 系统。shadowsocks 要求 Python 2.6 最好 2.7。 python –version Python 2.......

无头骑士
2015/01/12
0
0
爬取网易云音乐的评论后,竟有这种发现!

作者 | 志颖 责编 | 胡巍巍 用过网易云音乐听歌的朋友都知道,网易云音乐每首歌曲后面都有很多评论,热门歌曲的评论更是接近百万或者是超过百万条。 现在笔者就来分享一下如何爬取网易云音乐...

CSDN资讯
2018/10/14
0
0
python中AES 用ECB模式加密之后为什么和C#加密之后的结果不一样呢

c#AES以ECB模式key:32位加密: Label1.Text = AESX3.Encode("Mike$_中文", "e2_test_test_test_test_test_test"); //AES加密后值为:YkmuWt4KD8g7z+TcGO7iog== python #结果:RDX+xuQ8+7LUV......

李兆林
2012/12/18
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

一致性hash和虚拟节点

consistent hashing 算法的原理 consistent hashing 是一种 hash 算法,简单的说,在移除 / 添加一个 cache 时,它能够尽可能小的改变已存在key 映射关系,尽可能的满足单调性的要求。 下面就...

群星纪元
8分钟前
0
0
说一下Dubbo 的工作原理?注册中心挂了可以继续通信吗?

面试题 说一下的 dubbo 的工作原理?注册中心挂了可以继续通信吗?说说一次 rpc 请求的流程? 面试官心理分析 MQ、ES、Redis、Dubbo,上来先问你一些思考性的问题、原理,比如 kafka 高可用架...

李红欧巴
19分钟前
12
0
腾讯面试:一条SQL语句执行得很慢的原因有哪些?

说实话,这个问题可以涉及到 MySQL 的很多核心知识,可以扯出一大堆,就像要考你计算机网络的知识时,问你“输入URL回车之后,究竟发生了什么”一样,看看你能说出多少了。 之前腾讯面试的实...

java菜分享
37分钟前
10
0
Java 基本功 之 CAS

本文首发于个人公众号《andyqian》, 期待你的关注! 前言 在Java并发编程中,我们经常使用锁对竞争资源予以并发控制,以解决资源竞争的问题。但无论是使用 Lock 还是 Synchronized,随着锁机...

andyqian
41分钟前
4
0
信号量与条件变量的区别

注意信号量与条件变量的区别 信号量内容可见:http://www.cnblogs.com/charlesblc/p/6142868.html 信号量、共享内存,以及消息队列等System V IPC三剑客主要关注进程间通信; 而条件变量、互...

shzwork
52分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部