美文网首页
Python 文本加密解密 中文TXT数据

Python 文本加密解密 中文TXT数据

作者: 辣辣不乖 | 来源:发表于2020-11-28 18:59 被阅读0次

写了个爬虫爬取了最新的银行联行号数据库大约12万行数据保存为csv,又用python的pandas模块写了个离线查询工具,方便自己也方便同事,然而csv和xlsx的读取速度实在不敢恭维,转为txt后几乎秒读。为了避免txt明文被善意修改影响正常使用被迫加密...

代码如下(仅加密解密部分):

#!/usr/bin/env python
#AES-demo

import base64
from Crypto.Cipher import AES

'''
采用AES对称加密算法
'''

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

# 加密方法
def encrypt_oracle():
    # 秘钥
    key = '33818121'
    # 一次性读取文本内容
    with open('banks.txt', 'r', encoding='utf-8') as banks:
        # print(text) 测试打印读取的数据
        # 待加密文本
        mystr = banks.read()
    text = base64.b64encode(mystr.encode('utf-8')).decode('ascii')
    # 初始化加密器
    aes = AES.new(add_to_16(key), AES.MODE_ECB)
    # 先进行aes加密
    encrypt_aes = aes.encrypt(add_to_16(text))
    # 用base64转成字符串形式
    encrypted_text = str(base64.encodebytes(encrypt_aes), encoding='utf-8')  # 执行加密并转码返回bytes
    # print(encrypted_text) 测试打印加密数据
    # 写入加密数据到文件
    with open("bankdata.txt","w") as bankdata:
        bankdata.write(encrypted_text)

# 解密方法
def decrypt_oralce():
    # 秘钥
    key = '33818121'
    # 密文
    with open('bankdata.txt', 'r', encoding='utf-8') as banks:
        # print(text) 测试打印读取的加密数据
        # 待解密文本
        text = banks.read()
    # 初始化加密器
    aes = AES.new(add_to_16(key), AES.MODE_ECB)
    # 优先逆向解密base64成bytes
    base64_decrypted = base64.decodebytes(text.encode(encoding='utf-8'))
    # bytes解密
    decrypted_text = str(aes.decrypt(base64_decrypted),encoding='utf-8') # 执行解密密并转码返回str
    decrypted_text = base64.b64decode(decrypted_text.encode('utf-8')).decode('utf-8')
    print(decrypted_text)

if __name__ == '__main__':
   # encrypt_oracle()
   decrypt_oralce()

加密数据截图

jia2.png

解密数据截图

jia.png

代码参考:E度笔记 http://www.edbiji.com/doccenter/showdo

相关文章

  • RSA公私钥生成

    ·1.创建加密密钥 ·2.通过私钥生成公钥 ·测试加密解密·创建txt文件 ··私钥加密->公钥解密 ··公钥加密...

  • iOS 关于DES加密文本中有中文的问题

    DES加密中,遇到加密的文本中含有中文的情况: 记录一下这个问题 解密之后遇到这种情况 一般来说,DES加密的时候...

  • 加密习题

    1.现代密码学可以加密什么数据?文本数据和二进制数据都可以2.对称加密的加密与解密过程使用密钥进行加密算法,对数据...

  • python操作RSA加密解密

    python操作RSA加密解密

  • window.btoa 与 window.atob

    使用 window.btoa()对数据进行加密传到后端,返回的数据中有中文,使用window.atob()解密,中...

  • Data must be aligned to block bo

    python 使用Crypto进行aes ECB模式加解密时,遇到解密出错。 原因:进行加密的数据没有进行补位,数...

  • python 加密解密

    Python 利用 pyDes对字符串进行解密 base64加密解密 md5加密

  • JAVA加解密11-对称加密算法-DES以及DESede算法

    一、简述对称加密算法就是能将数据加解密。加密的时候用密钥对数据进行加密,解密的时候使用同样的密钥对数据进行解密。D...

  • Maple

    Maple各种函数用法Maple来进行加密解密运算affinecrypt(txt,m,n)是使用mx +n对txt...

  • 【数据可视化】使用Python进行词云绘制

    使用Python绘制词云 1、制作效果: 绘制词云效果图: 词云图中文本原文,复制文本保存到txt中: https...

网友评论

      本文标题:Python 文本加密解密 中文TXT数据

      本文链接:https://www.haomeiwen.com/subject/onvkwktx.html