Python密码学XOR算法编码流程及乘法密码教程

yizhihongxing

标题:Python密码学XOR算法编码及乘法密码教程

XOR算法编码流程

1.输入明文和密钥。

2.将明文和密钥转化为二进制。

3.将明文和密钥按位异或。若明文和密钥同一位为0或1,则异或结果为0,否则为1。

4.将异或后的结果转化为十六进制,即为密文。

示例1:

明文:hello

密钥:world

1.明文和密钥转化为二进制为:

hello:01101000 01100101 01101100 01101100 01101111

world:01110111 01101111 01110010 01101100 01100100

2.按位异或得到结果为:

 01101000 01100101 01101100 01101100 01101111

异或 01110111 01101111 01110010 01101100 01100100

结果 00011111 00001010 00011110 00000000 00001001

3.将异或后的结果转化为十六进制:

00011111 00001010 00011110 00000000 00001001 → 1F 0A 1E 00 09

因此,hello通过XOR算法和密钥world的加密后的结果为1F0A1E0009。

乘法密码教程

乘法密码是一种基于代换和置换的密码算法,它使用线性代数中的矩阵加密算法。具体步骤如下:

1.输入明文和矩阵。

2.将明文转化为二进制。

3.将明文分为n个字母组成的一组,每个字母用一个数字表示(A对应0,B对应1...Z对应25)。

4.将明文矩阵和加密矩阵相乘,得到密文矩阵。

5.将密文矩阵转化为数字,即为密文。

示例2:

明文:MESSAGE

加密矩阵:

8 6 9

6 9 5

5 8 4

1.将明文转化为二进制为:

01001101 01000101 01010011 01010011 01000001 01000111 01000101

2.将明文分为3个字母组成的一组,得到明文矩阵:

[ 12 4 18 ]

[18 18 18 ]

[18 7 4 ]

3.将明文矩阵和加密矩阵相乘,得到密文矩阵:

[186 222 180 ]

[249 249 257 ]

[139 193 161 ]

4.将密文矩阵转化为数字,即为密文:

186 222 180 249 249 257 139 193 161

因此,MESSAGE通过乘法密码算法和加密矩阵的加密后的结果为186 222 180 249 249 257 139 193 161。

以上是Python密码学XOR算法编码及乘法密码教程的完整攻略,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python密码学XOR算法编码流程及乘法密码教程 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • python实现人性化显示金额数字实例详解

    Python实现人性化显示金额数字实例详解 在很多的计算机应用场景中,需要对金额数字进行人性化的显示,比如货币、股票等金融领域。Python作为一种经典的开发语言,提供了非常方便的解决方案来实现金额数字的人性化显示。本文将介绍如何用Python实现人性化显示金额数字,以及提供一些示例说明。 实现思路 人性化金额数字的显示,需要满足以下几个条件: 数字需要进行…

    python 2023年6月3日
    00
  • 用python进行视频剪辑

    用 Python 进行视频剪辑的完整攻略 介绍 很多人在创作视频时都需要进行剪辑,例如删减无用镜头、调整视频长度等等。这些任务通常需要使用视频编辑软件,例如Adobe Premiere和Final Cut Pro等。然而,如果你想批量剪辑大量视频,或者想用编程方式剪辑视频,Python将为你提供方便的解决方案。 在本文中,我们将介绍如何使用Python进行视…

    python 2023年6月2日
    00
  • Python如何爬取51cto数据并存入MySQL

    在本攻略中,我们将介绍如何使用Python爬取51CTO数据并存入MySQL。我们将使用requests、BeautifulSoup和pymysql库来实现这个功能。 安装requests、BeautifulSoup和pymysql 在使用requests、BeautifulSoup和pymysql之前,需要安装它们。以下是安装这些库的命令: pip ins…

    python 2023年5月15日
    00
  • 如何使用Python将数据导出到CSV文件中?

    以下是如何使用Python将数据导出到CSV文件中的完整使用攻略,包括导入模块、连接数据库、执行查询操作、写入CSV文件等步骤。同时,提供两个示例以便更好理解如何使用Python将数据导出到CSV文件中。 步骤1:导入模块 在Python中,我们需要导入相应的模块来将数据导出到CSV文件中。以下是导入csv和pymysql模块的基本语法: import cs…

    python 2023年5月12日
    00
  • 详解在Python中用Pillow将PNG转换为ICO

    首先需要安装Pillow库,Pillow库是Python中使用最广泛的图像处理库之一。 在命令行中输入: pip install Pillow 安装成功后可以运行以下Python代码: from PIL import Image # 打开png文件 with Image.open(‘test.png’) as im: # 把PNG转换为ICO im.save…

    python-answer 2023年3月25日
    00
  • 对python opencv 添加文字 cv2.putText 的各参数介绍

    对Python OpenCV添加文字cv2.putText的各参数介绍是指在使用Python OpenCV库中的cv2.putText函数时,需要了解各参数的含义和用法。本文将讲解对Python OpenCV添加文字cv2.putText的各参数介绍,包括以下几个方面: cv2.putText函数的语法 cv2.putText函数的参数介绍 实践示例 cv2…

    python 2023年5月15日
    00
  • 简述:我为什么选择Python而不是Matlab和R语言

    我为什么选择Python而不是Matlab和R语言 Python、Matlab和R语言都是常见的数据分析和科学计算工具,但我选择使用Python的原因有以下几点: 1. Python是一门通用语言 相较于Matlab和R语言,Python是一门更加通用的编程语言,不仅可以进行科学计算和数据分析,还可以用于网页开发、机器学习、深度学习等多个领域。Python具…

    python 2023年5月20日
    00
  • 如何使用Python实现数据库中数据的聚合查询?

    以下是使用Python实现数据库中数据的聚合查询的完整攻略。 数据库中数据的聚合查询简介 在数据库中,数据的聚合查询是指对数据进行统计分析,如计算平均值、最大值、最小值、总和等。在Python中可以使用pymysql库实现数据库中数据的聚合查询。 步骤1:连接到数据库 在Python中使用pymysql库连接到MySQL。以下是连接到MySQL数据库的基本语…

    python 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部