文档章节

python加解密

捍卫机密
 捍卫机密
发布于 2017/05/25 17:41
字数 117
阅读 37
收藏 0

 

 


#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Created by weilai on 2017/04/14


from Cryptodome.Cipher import AES
from Cryptodome.Random import get_random_bytes
import base64
# declared outside of all functions

key = get_random_bytes(16)
tag = None
nonce = None


def encrypt(data):
    global tag, nonce
    byte_data = data.encode(encoding="utf-8")
    cipher = AES.new(key, AES.MODE_EAX)
    nonce = cipher.nonce
    cipher_text, tag = cipher.encrypt_and_digest(byte_data)
    return cipher_text


def decrypt(data):
    global tag, nonce
    cipher = AES.new(key, AES.MODE_EAX, nonce)
    decrypt_text = cipher.decrypt_and_verify(data, tag)
    return decrypt_text


r = encrypt('超级大坏蛋')
b64r = base64.b64encode(r)
print(b64r)
b64b = base64.b64decode(b64r)
rr = decrypt(b64b)
print(rr.decode())

 

© 著作权归作者所有

共有 人打赏支持
捍卫机密
粉丝 5
博文 126
码字总数 48320
作品 0
成都
程序员
私信 提问
wechatpy 0.8.0 发布,微信开放平台 Python SDK

微信开放平台 Python SDK —— wechatpy 0.8.0 发布了,改进内容包括: 移除了对 pycrypto 库的强制依赖,被动响应消息体加解密开始兼容 cryptography 和 pycrypto 这两个流行的 Python 加解...

messense
2015/04/14
2.4K
0
C/S 架构的加密通信库 - Python-SecureHTTP

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

匿名
01/18
0
0
技术流 | 手把手教你用Python设计一个命令行界面

作者 | Yannick Wolff 译者 | 刘旭坤 整理 | Jane 出品 | Python大本营 对 Python 程序来说,完备的命令行界面可以提升团队的工作效率,减少调用时可能碰到的困扰。今天,我们就来教大家如何...

AI科技大本营
2018/12/30
0
0
如何将一个Python脚本加入Windows右键菜单?

版权声明:本文为【欧阳鹏】原创文章,欢迎转载,转载请注明出处! 【http://blog.csdn.net/ouyang_peng】 https://blog.csdn.net/qq446282412/article/details/84589479 一、背景 因为APP的日...

欧阳鹏
2018/11/28
0
0
请教python和.NET 进行RSA加密和解密例子

关于C# 和 python默认的公钥密钥格式不同,两个语言进行加解密一直出现问题,求一份例子

insflow
2015/06/08
320
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 风扇写着先生请自爱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @蚂蚁哈哈哈 :分享陈奕迅的单曲《落花流水》 《落花流水》- 陈奕迅 手机党少年们想听歌,请使劲儿戳(这里) @车谷 :我发现每天上班都好困 ...

小小编辑
47分钟前
6
0
centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
今天
3
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
8
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部