曲路密码(Bend crypto)

简介: 曲路密码(Bend crypto)

曲路密码(Bend crypto)

  • 加密对象: 所有字符
  • 原理
  • 该密码和栅栏密码类似,是一种移位密码
  • 秘钥就是行列数,但我感觉只需要列数就好了(可能是我理解有问题),使用行列数构成一个表格,将明文依次填入,例如:行列为6列3行, 明文为: “flag{y0u_are_p1g@}”
f l a g { y
0 u _ a r e
_ p 1 g @ }

然后从最后一个字符像如下方式串起来即构成了密文:}ey{r@gaga_1pulf0_


5c18c117ab7948e697f59bbecfd4014f.png

代码:

# write by 2021/8/4
# 曲路密码
import re
def encrypt_bend(string, col, row=10):
    ciphertext = ""
    temp = []
    for i in range(col):
        temp.append([])
    for index, i in enumerate(string):
        temp[index % col].append(i)
    re_temp = list(reversed(temp))
    for index, i in enumerate(re_temp):
        if index % 2 == 0:
            i = list(reversed(i))
        ciphertext += "".join(i)
    return ciphertext
def decrypt_bend(string, col, row=10):
    plaintext = ""
    length = len(string)
    min_row = length // col       # 最小的行数
    min_num = col - length % col  # 最小行数的列数
    # 分组
    temp = []
    index = 0
    for i in range(col):
        if i < min_num:
            temp.append(string[index:index+min_row])
            index += min_row
        else:
            temp.append(string[index:index+min_row+1])
            index += min_row + 1
    print(temp)
    # 改回列顺序
    for index, i in enumerate(temp):
        if index % 2 == 0:
            # print(re.findall(".{1}", temp[index]))
            temp[index] = "".join(list(reversed(re.findall(".{1}", temp[index]))))
    temp.reverse()
    for i in range(length):
        plaintext += temp[i % col][i // col]
    return plaintext
if __name__ == '__main__':
    col_ = 7
    row_ = 5
    ciphertext_ = encrypt_bend("i will beat you this day", col_, row_)
    plaintext_ = decrypt_bend(ciphertext_, col_, row_)
    print(f"{plaintext_} : {ciphertext_}")


目录
相关文章
|
机器学习/深度学习 人工智能 算法
Agent的未来前景在哪里
Agent作为自主智能体,近年来发展迅猛,引起了广泛关注,尤其是近期备受关注并引发广泛讨论,其具备自主任务安排、工作成果分析和目标寻找等能力。作为开发者,知道技术圈的一些特性,比如在实际应用中,对于实际应用来说"成本效益比"一直是一个核心问题,也是推动新一轮人工智能革命的关键因素,而且需要综合考虑Agent的成本效益比、未来发展趋势以及从先进工具到行业专家的关键瓶颈。那么本文就来简单探讨一下Agent的成本效益问题、未来发展趋势以及从先进工具到行业专家的关键瓶颈,帮助大家对Agent未来发展的思考。
605 1
Agent的未来前景在哪里
|
存储 容器
科普:如果电容器阻断直流电,为什么还要在直流电路中使用电容器?
如果电容器阻止直流,那么为什么它用于直流电路?问题不应该是为什么,而是如何!电容器在直流电路中有许多应用,如旁路、滤波、耦合和去耦。因此,利用这种阻隔直流和通过交流的特性,电容器可用于不同的应用。这取决于它连接到电路的方式、电容值、信号频率、电压和其他几个因素。
2626 0
科普:如果电容器阻断直流电,为什么还要在直流电路中使用电容器?
|
关系型数据库 MySQL 数据库
OceanBase数据库常见问题之脚本执行失败如何解决
OceanBase 是一款由阿里巴巴集团研发的企业级分布式关系型数据库,它具有高可用、高性能、可水平扩展等特点。以下是OceanBase 数据库使用过程中可能遇到的一些常见问题及其解答的汇总,以帮助用户更好地理解和使用这款数据库产品。
|
9月前
|
存储 人工智能 项目管理
2025年GitHub平台上的十大开源MCP服务器汇总分析
本文深入解析了GitHub上十个代表性MCP(Model Context Protocol)服务器项目,探讨其在连接AI与现实世界中的关键作用。这些服务器实现了AI模型与应用程序、数据库、云存储、项目管理等工具的无缝交互,扩展了AI的应用边界。文中涵盖Airbnb、Supabase、AWS-S3、Kubernetes等领域的MCP实现方案,展示了AI在旅行规划、数据处理、云存储、容器编排等场景中的深度应用。未来,MCP技术将向标准化、安全性及行业定制化方向发展,为AI系统集成提供更强大的支持。
2049 2
2025年GitHub平台上的十大开源MCP服务器汇总分析
|
人工智能 运维 Serverless
Serverless + AI 让应用开发更简单
随着云计算和人工智能(AI)技术的飞速发展,企业对于高效、灵活且成本效益高的解决方案的需求日益增长。本文旨在探讨 Serverless 架构与 AI 技术的结合,如何通过 Serverless 函数计算和 AI 开发平台,助力企业简化应用开发流程,减少企业 AI 业务试错成本,加速业务创新,为企业业务发展提供无限可能。
|
机器学习/深度学习 数据采集 人工智能
|
缓存 弹性计算 数据库
2核4G云服务器可以支持多少人同时在线访问?
阿里云2核4G服务器性能受多种因素影响,如应用效率、并发数、内存使用、CPU性能、公网带宽、数据库及CDN/OSS服务。优化代码、配置Web服务器、管理内存、选择高效数据库策略、利用缓存、使用CDN和OSS可提升服务器承载能力。实际支持在线人数因场景不同而变化,需综合评估并进行压力测试。年租仅199元
442 10
|
传感器 机器人
|
计算机视觉 Python
【Python】已解决:ModuleNotFoundError: No module named ‘PIL’
【Python】已解决:ModuleNotFoundError: No module named ‘PIL’
9323 0
|
存储 人工智能 固态存储
掌握未来:打造适用于AI人工智能开发的理想电脑配置指南
在当下技术快速发展的时代,人工智能(Artificial Intelligence, AI)已然成为大势所趋。从语音助手到自动驾驶汽车,AI的应用日渐普及。作为计算机科学的一个分支,AI侧重于创造能够执行各种复杂任务的智能机器。为了进行有效的AI研发,一个强大的电脑配置是必不可少的。本文旨在为AI开发者提供一份详尽的电脑配置建议,帮助您在这个时代浪潮中占得先机。

热门文章

最新文章