Python 中的 Caesar 密码17 Mar 2025 | 4 分钟阅读 在本教程中,我们将探讨一种称为凯撒密码的加密方法。它是密码学的一部分。 引言在这种技术中,每个字母都被替换为字母表中固定位置向前或向后的字母。例如 - 字母 B 会被替换为向前两个位置的 D。D 会变成 F,依此类推。这种方法是以古罗马著名人物尤利乌斯·凯撒的名字命名的,他用它与官员沟通。 有一种算法用于实现它。让我们来理解一下。 凯撒密码算法的特点该算法包含一些特征,如下所示。
需要一个整数值来定义文本中每个向下移动的字母。这个整数值也称为位移。 我们可以通过首先将字母转换为数字来表示这个概念,根据模式,A = 0, B = 1, C = 2, D = 3……Z = 25。 可以使用以下数学公式来移动 n 个字母。 如何解密?解密与加密相同。我们可以创建一个函数来执行相反方向的移位来解密原始文本。但是,我们可以使用模运算下的密码的循环属性。 Cipher(n) = De-cipher(26-n) 可以使用相同的函数进行解密。但是,我们将修改移位值,使 shifts = 26 - shift。 ![]() 让我们理解以下示例 - 示例 - 输出 Plain txt : CEASER CIPHER EXAMPLE Shift pattern : 4 Cipher: HJFXJWsHNUMJWsJCFRUQJ 上面的代码逐个字符遍历。它根据文本加密和解密过程的规则转换每个字符。 我们定义了几个特定的位置集,生成了密文。 凯撒密码算法的破解我们可以通过各种方式破解密文。其中一种方法是暴力破解技术,它涉及尝试所有可能的解密密钥。这种技术并不难,也不需要太多努力。 让我们理解下面的例子。 示例 - 输出 Hacking k #25: rHNUMJWrIJRTHJFXJWHJFXJW 置换密码置换密码算法是一种将明文中的字母顺序重新排列以形成密文的技术。该算法不支持实际的明文字母。 让我们通过一个例子来理解这个算法。 示例 - 我们将采用一个简单的例子,称为列置换密码,我们将明文中的每个字母以指定的字母宽度水平书写。垂直书写的文本就是密文,形成了一个完全不同的密文。 让我们举一个明文,并应用简单的列置换技术,如下所示。 ![]() 我们将明文水平放置,密文以垂直格式创建为:hotnejpt.lao.lvi. 要解密此文本,接收者必须使用相同的表格将密文解密为明文。 代码 - 让我们理解下面的例子。 解释 - 在上面的代码中,我们创建了一个名为 split_len() 的函数,该函数将明文字符分成块,并以列或行格式放置。 encode() 方法使用指定列数的密钥创建密文,我们通过读取每一列来打印每个密文。 注意 - 置换技术旨在显著提高加密安全性。密码分析家发现,使用相同的置换密码重新加密密文可以提供更好的安全性。下一个主题Python 中的分词器 |
Python 受欢迎的原因之一是它附带了大量的库,用于简化复杂的任务。Python IMDB 就是其中之一,可能对电影爱好者有所帮助。Python IMDbPY 库用于检索和管理...
5 分钟阅读
Python 中的 JSON Schema JSON Schema 是一种用于验证 JSON 文档的 Python 语言。它包含键/值对,其中每个键用于指定特定 JSON 数据的结构。使用 JSON Schema 可以提供易于理解、高质量的数据和文档。JSON Schema 是...
5 分钟阅读
? 让我们看看如何修改 Pandas DataFrame 的列标题。在本教程中,我们将介绍六种不同的方法来更改 pandas DataFrame 中的列名。记录保存在 Pandas DataFrame(一个矩形矩阵)中。DataFrame 使可视化和...
5 分钟阅读
可以使用 PyQt5 模块小部件 QCalendar 在 Python 中创建日历 GUI。PyQt5 是 Riverbank Computing 的 GUI 小部件工具包的最新版本。Qt 是最有效和最受欢迎的跨平台 GUI 库之一,它有一个 Python 接口。Python 编程语言和 Qt...
阅读 3 分钟
基础/必备知识简介:字典是 Python 中可用的数据类型之一。如果您熟悉集合和列表,那么字典就是另一种数据存储方式。从正式定义来看,字典是存储在...中的无序数据集合。
阅读 3 分钟
项目目标:公司或展厅管理部门如何确定现有或潜在消费者是否希望购买某款产品(在此案例中为汽车)?如果他们拥有客户的工资、年龄和其他因子字段(自变量)的信息,就可以做到这一点...
21 分钟阅读
作为数据科学家和计算机科学家,我们即使没有意识到,也经常在日常工作中处理寻根算法。这些算法旨在定位特定值的近似值、局部/全局最大值或最小值。我们在订单中利用寻根算法...
阅读 16 分钟
自定义解析器行为 Python 模块 'configparser'。利用 ConfigParser 模块来监督任何应用程序的用户文档和文件。文档格式被协调成段落;每个部分都可以包含用于协调数据的键值对。还支持使用 Python 格式化字符串技术进行键值插入...
阅读 8 分钟
在下面的教程中,我们将了解如何使用 Python 编程语言中的 NLTK(自然语言工具包)包对单词进行词干提取。词干提取简介 词干提取是自然语言处理中管道过程的重要组成部分。词干提取是生成形态学...
5 分钟阅读
在这个时代,编码能力的重要性持续增长。编码已经不再是计算机科学家和程序员的专属领域,而是一种在任何职业中都有用的技能。为了展望未来,我们知道如何理解...
阅读 10 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India