使用影刀指令+python实现简单的长文本乱序加密

本文意在利用影刀指令+python代码,实现一种较为简单的长文本加密和解密,流程结构分为两步:

  • 加密原理–是把字符转为列表,利用列表random模块中的shuffle函数做随机乱序。
  • 解密原理–是利用了列表的索引追踪,先前创建字典–原序号和乱序号的对应关系,重排乱序的列表,达到还原长文本的目的。

加密原理:

  • 如下图,读取待加密的文件(长文本的随机乱序加密测试.txt),将字符转为列表并标记索引,利用shuffle()函数随机排序列表达到乱序目的
    在这里插入图片描述
  • 加密完成后生成两个文本文件,即加密文本.txt和破译码.txt,前者是原长文本的乱序,后者将用于解密操作。
    在这里插入图片描述

解密:

  • 解密时很简单,即利用先前生成的破译码,即根据原始位置和乱序后位置的对应关系来还原字符,不过由于再读进来的破译码是文本,要先重新将文本构造成键值字典。

在这里插入图片描述

  • 破译后生成破密文本.txt,即还原加密文件。
    在这里插入图片描述
    总结,以上实现的是一种算作最简单的文本加密方式,也是演示了字典的一种常规用法,常见于在excel中按照既定关系来匹配数据以及快速查找。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/233346.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何运用智能安全帽、执法记录仪等技术手段提高隧道施工人员定位和安全监管效率?

应用需求 隧道中通常没有4G网络,无法搜到GPS卫星, 而领导从安全生产监管的角度,又需要看到现场的视频、录像、人员定位等。这正是本方案需要解决的问题。 系统特点 在无网络的隧道内部录像,紧急情况可派人出隧道,把…

【精选】Spring框架介绍及Spirng各个版本的特性

Spring框架介绍 Spring框架英文全称Spring Framework,是由Spring团队研发的模块化、轻量级开源框架。其主要目的是为了简化项目开发。在项目开发中,可以说没有刻意使用Spring,却处处有着Spring存在。用官网对Spring框架的介绍:Sp…

深度学习——激活函数汇总

深度学习——激活函数汇总 一、ReLU 一、ReLU 参考资料: https://zhuanlan.zhihu.com/p/428448728

NX二次开发UF_CURVE_create_bridge_feature 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_create_bridge_feature Defined in: uf_curve.h int UF_CURVE_create_bridge_feature(UF_CURVE_bridge_data_p_t bridge_data, tag_p_t bridge_feature ) overview 概述 …

一文读懂Asyncio

什么是Asyncio asyncio 是用来编写并发代码的库,使用async/await语法。 asyncio 被用作多个提供高性能 Python 异步框架的基础,包括网络和网站服务,数据库连接库,分布式任务队列等等。 asyncio 往往是构建 IO 密集型和高层级结构化…

【趣味篇】Scratch之像素版恐龙飞奔

【作品展示】像素版恐龙飞奔 操作:点击小绿旗进入游戏主页面,一只可爱的小恐龙会直接开跑。当看到前方障碍物之后,按下键盘空格键躲避障碍物。

python获取系统当前进程数和最大进程数

参考: https://blog.51cto.com/u_16213345/7115864 https://www.baidu.com/s?wdpython%20%E8%8E%B7%E5%8F%96%E7%B3%BB%E7%BB%9F%E5%BD%93%E5%89%8D%E8%BF%9B%E7%A8%8B%E6%95%B0%E5%92%8C%E6%9C%80%E5%A4%A7%E8%BF%9B%E7%A8%8B%E6%95%B0&rsv_spt1&rsv_iqid…

C语言之“可变参数<stdarg.h>”

目录 前言 stdarg.h头文件 实例:遍历并求和所有传递给sum函数的额外实际参数 前言 有时我们会希望函数带有可变数量的参数就像printf(cosnt char* format ...)和scanf(cosnt char* format ...)那样除了有一个参数 …

【Openstack Train安装】一、虚拟机创建

Openstack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人将 Openstack作为…

时间序列预测实战(十九)魔改Informer模型进行滚动长期预测(科研版本,结果可视化)

论文地址-> Informer论文地址PDF点击即可阅读 代码地址-> 论文官方代码地址点击即可跳转下载GIthub链接 个人魔改版本地址-> 文章末尾 一、本文介绍 在之前的文章中我们已经讲过Informer模型了,但是呢官方的预测功能开发的很简陋只能设定固定长度去预测…

Python教程:装饰器的10个示例用法

Python装饰器是一种高级语法,它允许我们增强函数或方法的功能,而无需修改其原始代码。装饰器本质上是一个函数,它接收一个函数作为参数,并返回一个新的函数。这个新的函数可以包装原有函数,添加一些新的功能。 在Pyth…

内存函数​(memcpy、memmove、memset、memcmp)

目录 一、memcpy的使用和实现 使用: 模拟实现: 二、memmove 使用和模拟实现 模拟实现: 2.1难点: 覆盖拷贝所在的问题 memset的使用 memcmp的函数的使用​ 一、memcpy的使用和实现 memcpy 拷贝的就是不重叠的内存。 参数…