密码学---常见的其他密码
✨费纳姆密码:加解密都需要密钥,以二进制形式表示的密码。(密钥多是一次性的,称位一次性密码本)
加密过程:
char_num = {'A': '1000001', 'B': '1000010', 'C': '1000011', 'D': '1000100','E': '1000101', 'F': '1000110', 'G': '1000111', 'H': '1001000','I': '1001001', 'J': '1001010', 'K': '1001011', 'L': '1001100','M': '1001101', 'N': '1001110', 'O': '1001111', 'P': '1010000','Q': '1010001', 'R': '1010010', 'S': '1010011', 'T': '1010100','U': '1010101', 'V': '1010110', 'W': '1010111', 'X': '1011000','Y': '1011001', 'Z': '1011010'}num_char = {'1000001': 'A', '1000010': 'B', '1000011': 'C', '1000100': 'D','1000101': 'E', '1000110': 'F', '1000111': 'G', '1001000': 'H','1001001': 'I', '1001010': 'J', '1001011': 'K', '1001100': 'L','1001101': 'M', '1001110': 'N', '1001111': 'O', '1010000': 'P','1010001': 'Q', '1010010': 'R', '1010011': 'S', '1010100': 'T','1010101': 'U', '1010110': 'V', '1010111': 'W', '1011000': 'X','1011001': 'Y', '1011010': 'Z', }# 转换
def txt_num(txt):txt = txt.upper()result = ""for i in txt:result = result + char_num[i]return result# 最终数字转换为字母
def num_list(txt):num = 0s = []while True:s.append(txt[num:num + 7])num += 7if num > len(txt) - 7:breakreturn s# 加密 文本内容
def encipher(txt, k):result = ''if txt.isalpha() and k.isalpha():txt = txt_num(txt)k = txt_num(k)j = len(k)for i in range(0, len(txt)):if txt[i] == k[i % j]:result += '0'else:result += '1'else:result = "明文与密钥应为纯字母"return result# 解密 文本为数字格式
def decipher(txt, k):result = ''if k.isalpha():k = txt_num(k)j = len(k)for i in range(0, len(txt)):if txt[i] == k[i % j]:result += '0'else:result += '1'result = num_list(result)result_char = ""for i in result:try:result_char = result_char + num_char[i]except KeyError:result_char = result_char + '?'result = result_charelse:result = "密钥应为纯字母"return resultif __name__ == '__main__':# 加解密,密文text,明文text_2text = ''# 读文本文件key = "polar"text_2 = "polarCTF"print(encipher(text_2, key))# print(decipher(text, key))

解密过程:
char_num = {'A': '1000001', 'B': '1000010', 'C': '1000011', 'D': '1000100','E': '1000101', 'F': '1000110', 'G': '1000111', 'H': '1001000','I': '1001001', 'J': '1001010', 'K': '1001011', 'L': '1001100','M': '1001101', 'N': '1001110', 'O': '1001111', 'P': '1010000','Q': '1010001', 'R': '1010010', 'S': '1010011', 'T': '1010100','U': '1010101', 'V': '1010110', 'W': '1010111', 'X': '1011000','Y': '1011001', 'Z': '1011010'}num_char = {'1000001': 'A', '1000010': 'B', '1000011': 'C', '1000100': 'D','1000101': 'E', '1000110': 'F', '1000111': 'G', '1001000': 'H','1001001': 'I', '1001010': 'J', '1001011': 'K', '1001100': 'L','1001101': 'M', '1001110': 'N', '1001111': 'O', '1010000': 'P','1010001': 'Q', '1010010': 'R', '1010011': 'S', '1010100': 'T','1010101': 'U', '1010110': 'V', '1010111': 'W', '1011000': 'X','1011001': 'Y', '1011010': 'Z', }# 转换
def txt_num(txt):txt = txt.upper()result = ""for i in txt:result = result + char_num[i]return result# 最终数字转换为字母
def num_list(txt):num = 0s = []while True:s.append(txt[num:num + 7])num += 7if num > len(txt) - 7:breakreturn s# 加密 文本内容
def encipher(txt, k):result = ''if txt.isalpha() and k.isalpha():txt = txt_num(txt)k = txt_num(k)j = len(k)for i in range(0, len(txt)):if txt[i] == k[i % j]:result += '0'else:result += '1'else:result = "明文与密钥应为纯字母"return result# 解密 文本为数字格式
def decipher(txt, k):result = ''if k.isalpha():k = txt_num(k)j = len(k)for i in range(0, len(txt)):if txt[i] == k[i % j]:result += '0'else:result += '1'result = num_list(result)result_char = ""for i in result:try:result_char = result_char + num_char[i]except KeyError:result_char = result_char + '?'result = result_charelse:result = "密钥应为纯字母"return resultif __name__ == '__main__':# 加解密,密文text,明文text_2text = '00000000000000000000000000000000000001001100110110001010'# 读文本文件key = "polar"text_2 = "polarCTF"# print(encipher(text_2, key))print(decipher(text, key))

✨杰弗逊转轮加密:需要密钥并用很多行乱序英文字母表示密文的密码。首先要将密文按密钥顺序进行调整,再根据密文顺序整每行字符串即可得到明文。
方法1:

除了每行第一个字母组成的,依次往后向下寻找有意义的字符串,直到找到为止!!!
方法2:
import re
PasswordList = '''
1: < ZWAXJGDLUBVIQHKYPNTCRMOSFE <
2: < KPBELNACZDTRXMJQOYHGVSFUWI <
3: < BDMAIZVRNSJUWFHTEQGYXPLOCK <
4: < RPLNDVHGFCUKTEBSXQYIZMJWAO <
5: < IHFRLABEUOTSGJVDKCPMNZQWXY <
6: < AMKGHIWPNYCJBFZDRUSLOQXVET <
7: < GWTHSPYBXIZULVKMRAFDCEONJQ <
8: < NOZUTWDCVRJLXKISEFAPMYGHBQ <
9: < XPLTDSRFHENYVUBMCQWAOIKZGJ <
10: < UDNAJFBOWTGVRSCZQKELMXYIHP <
11: < MNBVCXZQWERTPOIUYALSKDJFHG <
12: < LVNCMXZPQOWEIURYTASBKJDFHG <
13: < JZQAWSXCDERFVBGTYHNUMKILOP <
'''
ciphertext = "UOFJLBLSXJPJY" # 存放密文
content = re.findall(r'<(.*?)<', PasswordList, re.S) # 匹配所有的密码表字符串
key = [2, 3, 7, 5, 13, 12, 9, 1, 8, 10, 4, 11, 6] # 密钥
list = [] # 定义空列表list,和空串ans
ans = ""
for i in range(13):index = content[key[i]-1].index(ciphertext[i])list.append((index))
for i in range(0, 26):flag = ""for j in range(13):flag += content[key[j]-1][(list[j]+i) % 26]print(flag)

从出来的结果找出有意义的那串字符即为明文!!!
✨常见图形密码—猪圈密码

变种形式1:

变种形式2:

✨圣堂武士密码:

✨旗语密码:

✨盲文:

✨精灵语密码:

✨跳舞的人密码:

✨夏多密码:(下面的四个是方向指示符号,向上,右,下,左旋转,碰到表示将密文整体进行该方向的旋转)

✨银河密码:

相关文章:
密码学---常见的其他密码
✨费纳姆密码:加解密都需要密钥,以二进制形式表示的密码。(密钥多是一次性的,称位一次性密码本) 加密过程: char_num {A: 1000001, B: 1000010, C: 1000011, D: 1000100,E: 1000101, F: 1000110, G: 100…...
Mysql8 主从复制主从切换(超详细)
文章目录 1 主从复制1.1 实施前提1.2 主节点配置(在192.168.25.91操作)1.3 从节点配置(在192.168.25.92操作)1.4 创建用于主从同步的用户1.5 开启主从同步1.5 主从同步验证 2 主从切换2.1 实施前提2.2 主节点设置只读(在192.168.25.91操作)2.3 检查主从数据是否同步完毕(在192.…...
8月29日wpf
小语 折磨我们的往往是想象,而不是真实。 学wpf 7.07 1.vs如何创建新项目? 退出,创建新项目,点c#,windows,进入界面 2.app.config在哪里? 好像只有这个。。。 试一下,不是 我…...
Android经典实战之SurfaceView原理和实践
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 SurfaceView 是一个非常强大但也相对复杂的 UI 组件,特别适用于对性能要求较高的绘制任务,如视频播放、游戏等。 1. Su…...
蜜罐的识别
蜜罐技术本质上是对网络攻击方欺骗的一项技术,通过在服务上布置一些仿真的系统、网络服务、或是模拟一些物联网设备来诱惑攻击方对其实施攻击从而捕获攻击行为,分析攻击手段与方式,或是收集一些攻击者的个人信息来进行分析画像达到精准溯源的…...
传感与检测技术
感知技术 传感器基本特性 静态特性 动态特性 传感器分类 电阻式传感器 通常情况下,电阻应变传感器的灵敏系数为常数 根据测量对象不同可分为...
监控平台之nodejs模拟后端接口
github:可以下载进行实验 https://github.com/Mr-Shi-root/sdk-platform/tree/master 1.配置node环境,安装express cors body-parser babel/cors body-parser - node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。cookie-parse…...
TCP 协议详解
目录 一.定义 二.TCP 协议报文格式 三.确认应答(ACK)机制 四.捎带应答 五.连接管理机制 六.滑动窗口 七.快重传 八.拥塞控制 九.延时应答 十.面向字节流 十一.粘包问题 十二.异常情况 十三.TCP 小结 一.定义 传输控制协议(TCP,Transmissio…...
【转载】golang内存分配
Go 的分配采用了类似 tcmalloc 的结构.特点: 使用一小块一小块的连续内存页, 进行分配某个范围大小的内存需求. 比如某个连续 8KB 专门用于分配 17-24 字节,以此减少内存碎片. 线程拥有一定的 cache, 可用于无锁分配. 同时 Go 对于 GC 后回收的内存页, 并不是马上归还给操作系…...
TPM管理培训:学以致用,才是硬道理
全面生产维护(TotalProductiveMaintenance,TPM)作为一种先进的管理体系,正被越来越多的企业所采用,以期通过全员参与、全系统改善的方式,实现设备综合效率的最大化。然而,理论学习与实践应用之间往往存在鸿…...
2024年六月英语四级真题及解析PDF共9页
2024年六月英语四级真题及解析PDF共9页,真题就是最好的复习资料,希望对大家有所帮助。...
自闭症儿童语言干预
自闭症儿童的语言发展往往面临独特挑战,这不仅影响了他们的日常交流能力,也制约了其社交与认知的全面发展。因此,实施科学有效的语言干预对于促进自闭症儿童的语言能力至关重要。 语言干预应基于个性化原则,充分考虑每个孩子的兴…...
webpack基本使用(基础配置)
文章目录 概要理解 一、使用示例1.引入库2.创建config/webpack.dev.js 测试环境3.创建config/webpack.prod.js 正式环境3.创建eslintrc.js4.创建babel.config.js5.package.json5.main.js 总结 概要理解 vue或者react 通常用webpack作为打包工具,打包成浏览器识别的…...
在js渲染的dom中的事件中传递对象
在某些情况下,可能需要将整个对象或部分对象嵌入到 HTML 元素的属性中,可以将对象数据序列化为 JSON 字符串,存储在 data-* 自定义属性中。这样可以在事件中取出并解析对象数据: <!DOCTYPE html> <html lang"en&qu…...
服务器加速器如何应对大规模并行计算需求
服务器加速器,如GPU(图形处理单元)、FPGA(现场可编程门阵列)和TPU(张量处理单元),在大规模并行计算需求中发挥着重要作用。它们通过提供高效的并行处理能力,大幅提升了计算性能,满足了许多领域对大规模并行计算的需求。下面详细介…...
C++/Qt 多媒体(续四)
一、前言 前边讲述到了Qt的两项独特的模块编程支持的另一项内容——多媒体编程,上篇文章具体讲述的包括采集和播放原始音频相关类的概述,而本章开始主要概述多媒体编程实现的功能中的最后两项:播放视频文件和通过摄像头拍照和录像。 对于上篇内容的示例全部代码,可…...
怎样把flv转换成mp4格式?8种可以推荐的视频转换方法
怎样把flv转换成mp4格式?MP4格式因其广泛的兼容性,几乎可以在所有设备和媒体播放器上顺畅播放,这极大地方便了用户的观看体验。与flv文件相比,MP4通常能更有效地压缩视频文件,既能保持较高的画质,又能显著减…...
【2024数学建模国赛赛题解析已出】原创免费分享
2024数模国赛赛题已正式发布 数模加油站初步分析评估了此次竞赛题目: A题:偏数学仿真建模,难度偏难,适合数学专业背景的同学 B题:评价决策类,自由度大,容易水,适合基础不太好的同…...
Windows安装使用Docker
配置Dorker环境 启用或关闭windows功能 安装wsl 以管理员身份打开windows PowerShell,安装相关配置 下载docker应用程序 Releases tech-shrimp/docker_installer (github.com) 安装Docker 指定安装位置 默认双击程序就开始安装了,要安装在指定位置…...
【wsl2】从C盘迁移到G盘
参考大神 C盘的ubuntu22.04 非常大,高达30g 迁移后就只有几百M了: 右键有一个move没有敢尝试 迁移过程 Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved.Install the latest PowerShell for new features and improveme…...
别再用裸奔的mysqldump了!MySQL 5.7+安全备份的三种进阶姿势
MySQL 5.7数据安全备份的三大实战方案 当数据库规模突破GB级时,传统备份方式暴露的安全短板日益明显——某电商平台曾因备份文件泄露导致数百万用户数据在黑市流通。这并非孤例,Verizon《2023年数据泄露调查报告》显示,43%的数据库泄露事件与…...
别再手动拼中间件了!用Go Kratos框架5分钟搞定一个带链路追踪的微服务
别再手动拼中间件了!用Go Kratos框架5分钟搞定一个带链路追踪的微服务 每次启动新项目时,你是否也厌倦了重复配置日志、监控、链路追踪这些基础设施?作为Go开发者,我们总在业务代码和中间件整合之间反复横跳。今天要介绍的Kratos框…...
CenterPoint 模型结构与输出语义解析
本文以地平线 Open Explorer(OE)中的 CenterPoint 参考算法为主线,系统梳理 CenterPoint 的模型结构设计、Head 与 box 语义拆分方式,以及在工具链中从训练、导出到编译部署的完整工程语义。文末通过 nuScenes → KITTI 的一次实际…...
构建企业级工业可视化监控系统:FUXA在生产环境的高效部署方案
构建企业级工业可视化监控系统:FUXA在生产环境的高效部署方案 【免费下载链接】FUXA Web-based Process Visualization (SCADA/HMI/Dashboard) software 项目地址: https://gitcode.com/gh_mirrors/fu/FUXA 在数字化转型浪潮中,工业企业面临设备数…...
终极开源防撤回实战指南:5大核心功能深度解析
终极开源防撤回实战指南:5大核心功能深度解析 【免费下载链接】WeChatIntercept 微信防撤回插件,一键安装,仅MAC可用,支持v3.7.0微信 项目地址: https://gitcode.com/gh_mirrors/we/WeChatIntercept 微信防撤回插件 WeChat…...
告别网盘限速!八大平台免费直链下载助手完整指南
告别网盘限速!八大平台免费直链下载助手完整指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 …...
YOLOv8在Jetson上实时推理的终极优化:从.pt到INT8/FP16量化TensorRT引擎全流程
YOLOv8在Jetson平台上的极致性能优化:从模型量化到TensorRT部署实战 当你在Jetson边缘设备上部署YOLOv8模型时,是否遇到过这样的困境——明明使用了GPU加速,推理速度却依然无法满足实时视频分析的需求?这可能是由于你没有充分利用…...
产品经理年度述职全攻略:从职责梳理到未来规划的完整指南
1. 年度述职的核心价值与准备要点 每到年底,产品经理们都会面临一场"年终大考"——述职报告。这不仅是展示个人价值的舞台,更是系统复盘工作、规划未来的重要契机。我经历过7次年度述职,从最初的照本宣科到现在的游刃有余ÿ…...
终极指南:Mitsuba 3与Dr.Jit编译器如何用JIT技术重塑渲染管线
终极指南:Mitsuba 3与Dr.Jit编译器如何用JIT技术重塑渲染管线 【免费下载链接】mitsuba3 Mitsuba 3: A Retargetable Forward and Inverse Renderer 项目地址: https://gitcode.com/gh_mirrors/mi/mitsuba3 Mitsuba 3是一个革命性的研究导向渲染系统…...
React Native Decompiler:解密打包代码的3个核心优势
React Native Decompiler:解密打包代码的3个核心优势 【免费下载链接】react-native-decompiler Decompile React Native bundles 项目地址: https://gitcode.com/gh_mirrors/rea/react-native-decompiler 你是否曾经面对React Native打包后的代码感到无从下…...
