iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python换位密码及换位解密转置加密怎么实现
  • 783
分享到

python换位密码及换位解密转置加密怎么实现

2023-06-30 16:06:23 783人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python换位密码及换位解密转置加密怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python换位密码及换位解密转置加密怎么实现文章都会有所收获,下面我们一起来看看吧。换位密码Tra

这篇文章主要介绍了python换位密码及换位解密转置加密怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python换位密码及换位解密转置加密怎么实现文章都会有所收获,下面我们一起来看看吧。

换位密码

Transposition Cipher是一种加密算法,其中明文中的字母顺序被重新排列以形成密文.在此过程中,不包括实际的纯文本字母.

示例

转置密码的一个简单示例是柱状转置密码其中纯文本中的每个字符都是水平写入的,具有指定的字母宽度.密码是垂直写入的,它创建了一个完全不同的密文.

考虑纯文本 hello world ,让我们应用简单的柱状转置技术,如图所示在

python换位密码及换位解密转置加密怎么实现

纯文本字符水平放置,密文以垂直格式创建为:holewdlo lr.现在,接收方必须使用同一个表将密文解密为纯文本.

代码

以下程序代码演示了柱状转置技术的基本实现 :

def split_len(seq, length):   return [seq[i:i + length] for i in range(0, len(seq), length)]def encode(key, plaintext):   order = {      int(val): num for num, val in enumerate(key)   }ciphertext = ''for index in sorted(order.keys()):   for part in split_len(plaintext, len(key)):      try:ciphertext += part[order[index]]         except IndexError:            continue   return ciphertextprint(encode('3214', 'HELLO'))

解释

  • 使用函数 split_len(),我们可以拆分纯文本字符,可以按柱状或行格式放置.

  • 编码方法有助于使用指定列数的密钥创建密文并通过读取每列中的字符来打印密文.

输出

程序代码对于柱状转置技术的基本实现,给出以下输出 :

python换位密码及换位解密转置加密怎么实现

注意 : 密码分析者观察到当进行转座技术时加密安全性的显着改善.他们还指出,使用相同的转置密码重新加密密文可以提高安全性.

以上,我们了解了Transposition Cipher.下面,我们将讨论它的加密.

Pyperclip

Python编程语言中 pyperclip 插件的主要用法是执行跨平台模块,用于将文本复制和粘贴到剪贴板.您可以使用如下所示的命令安装python pyperclip 模块

pip install pyperclip

如果系统中已存在该要求,您可以看到以下输出 :

python换位密码及换位解密转置加密怎么实现

代码

用于加密转置密码的python代码,其中pyperclip是主要模块,如下所示 :

import pyperclipdef main():   myMessage = 'Transposition Cipher'   myKey = 10   ciphertext = encryptMessage(myKey, myMessage)   print("Cipher Text is")   print(ciphertext + '|')   pyperclip.copy(ciphertext)def encryptMessage(key, message):   ciphertext = [''] * key   for col in range(key):      position = col      while position < len(message):         ciphertext[col] += message[position]position += key      return ''.join(ciphertext) #Cipher textif __name__ == '__main__':   main()

输出

用于加密转置密码的程序代码,其中 pyperclip 是主模块提供以下输出 :

python换位密码及换位解密转置加密怎么实现

解释

  • 函数 main()调用 encryptMessage(),其中包括使用 len 函数拆分字符并以柱状格式迭代它们的过程.

  • 主函数在结尾处初始化以获得适当的输出.

解密转置密码的步骤

代码

请注意以下代码以便更好地理解解密转置密码.密码为 6 的消息转置密码的密文被提取为 Toners raiCntisippoh.

import math, pyperclipdef main():   myMessage= 'Toners raiCntisippoh'   myKey = 6   plaintext = decryptMessage(myKey, myMessage)   print("The plain text is")   print('Transposition Cipher')def decryptMessage(key, message):   numOfColumns = math.ceil(len(message) / key)   numOfRows = key   numOfShadedBoxes = (numOfColumns * numOfRows) - len(message)   plaintext = float('') * numOfColumns   col = 0   row = 0   for symbol in message:      plaintext[col] += symbol      col += 1      if (col == numOfColumns) or (col == numOfColumns - 1 and row >= numOfRows - numOfShadedBoxes):         col = 0 row += 1 return ''.join(plaintext)if __name__ == '__main__':   main()

说明

密文和提到的密钥是作为输入参数的两个值,用于解码或解密通过以列格式放置字符并以水平方式读取它们的反向技术密文.

您可以以列格式放置字母,然后使用以下部分将它们组合或连接在一起代码 :

for symbol in message:   plaintext[col] += symbol   col += 1   if (col == numOfColumns) or (col == numOfColumns - 1 and row >= numOfRows - numOfShadedBoxes):   col = 0   row += 1return ''.join(plaintext)

输出

解密转置密码的程序代码给出以下输出;

python换位密码及换位解密转置加密怎么实现

关于“python换位密码及换位解密转置加密怎么实现”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“python换位密码及换位解密转置加密怎么实现”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: python换位密码及换位解密转置加密怎么实现

本文链接: https://www.lsjlt.com/news/330011.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python换位密码及换位解密转置加密怎么实现
    这篇文章主要介绍了python换位密码及换位解密转置加密怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python换位密码及换位解密转置加密怎么实现文章都会有所收获,下面我们一起来看看吧。换位密码Tra...
    99+
    2023-06-30
  • python密码学换位密码及换位解密转置加密教程
    目录换位密码示例代码解释输出Pyperclip代码输出解释解密转置密码的步骤代码说明输出换位密码 Transposition Cipher是一种加密算法,其中明文中的字母顺序被重新排...
    99+
    2024-04-02
  • Python移位密码、仿射变换解密实例代码
    目录前言一、移位密码二、仿射变换三、全部代码总结前言 这个代码是很久之前的,已经忘记具体的思路了,你可以结合此文章来了解两个加密方式的内容。 前两个步骤是对应加密方式的函数,第三个步...
    99+
    2024-04-02
  • Python实现加解密,编码解码和进制转换(最全版)
    目录一、加密(不含解密)1、MD42、MD53、blake2b4、blake2s5、SHA16、SHA2247、SHA2568、SHA3849、SHA51210、SHA3_22411...
    99+
    2023-01-09
    Python加解密 Python 编码解码 Python 进制转换 Python加解密 编码解码 进制转换
  • python如何实现列置换密码
    这篇文章主要介绍了python如何实现列置换密码的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python如何实现列置换密码文章都会有所收获,下面我们一起来看看吧。过程加密过程将明文p以设定的固定分组宽度m按行...
    99+
    2023-06-30
  • java实现AES 32位加密解密的方案
    目录1、常用加密32位原因2、解决方案3、AES工具类1、常用加密32位原因 网上很多解密加密是16位的,用32位密钥加密会报java.security.InvalidKeyExc...
    99+
    2024-04-02
  • python密码加密与解密的实现
    目录一、对称加密1.1 安装第三方库 - PyCrypto1.2 加密实现二、非对称加密三、摘要算法3.1 md5加密3.2 sha1加密3.3 sha256加密3.4 sha384...
    99+
    2023-02-07
    python 密码加密 python 密码解密
  • Python:实现密码加密解密(含完整源码)
    Python:实现密码加密解密(含完整源码) 密码加密是保护用户隐私的一种有效手段。本文将讲解如何使用Python编写一个简单的密码加密解密程序,并提供完整源代码。 步骤一:安装依赖库 我们需要使用到...
    99+
    2023-09-11
    python 开发语言
  • python rsa加密解密怎么实现
    在Python中,可以使用`cryptography`库来实现RSA加密和解密。以下是一个示例: from cryptography...
    99+
    2023-10-26
    python
  • python如何实现凯撒密码加密解密
    这篇文章主要介绍了python如何实现凯撒密码加密解密的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python如何实现凯撒密码加密解密文章都会有所收获,下面我们一起来看看吧。凯撒加密就是通过将字母移动一定的位...
    99+
    2023-07-02
  • Python怎么实现RSA加密解密
    这篇文章主要介绍了Python怎么实现RSA加密解密的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么实现RSA加密解密文章都会有所收获,下面我们一起来看看吧。一、安装模块pip inst...
    99+
    2023-06-30
  • python实现凯撒密码加密解密的示例代码
    凯撒加密就是通过将字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移,被替换成密文。例如,当偏移量是2的时候,所有的字母B将被替换...
    99+
    2024-04-02
  • vbs中如何实现shellcode转换escape加密
    这篇文章将为大家详细讲解有关vbs中如何实现shellcode转换escape加密,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。'code by NetPatch code=&...
    99+
    2023-06-08
  • Python实现栅栏密码的加密解密方法详解
    目录1.栅栏密码介绍2.栅栏密码加密3.栅栏密码解密(爆破)4.W型栅栏密码加密1.栅栏密码介绍 所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无...
    99+
    2023-01-16
    Python栅栏密码加密 Python栅栏密码解密
  • 怎么利用Python实现RSA加密解密
    这篇文章主要介绍“怎么利用Python实现RSA加密解密”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么利用Python实现RSA加密解密”文章能帮助大家解决问题。RSA加密实验基本流程:一、选取...
    99+
    2023-06-29
  • mybatis类型转换器如何实现数据加解密
    目录mybatis类型转换器数据加解密背景需求mybatis 类型转换器数据加解密类型转换使用方法mybatis密码解密mybatis的配置properties的配置mybatis类...
    99+
    2024-04-02
  • Vue.Draggable怎么实现交换位置
    这篇“Vue.Draggable怎么实现交换位置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue.Draggable怎么...
    99+
    2023-06-29
  • vue3怎么实现​6位支付密码输入框
    具体的需求: 在客户信息表格的操作栏中,点击修改支付密码按钮,会跳转到6位支付密码输入框组件页面。同时,要求输入框密文显示、不可编辑、不可回退、即时显示;到达6位数,自动进入确认支付密码;确认支付密码到达6位数,自动检验两次输入密码的一致性...
    99+
    2023-05-18
    Vue3
  • python实现AES算法及AES-CFB8加解密源码
    目录Python实现AES算法生成轮密钥加密解密完整代码如下测试测试程序Python实现AES-CFB8加解密Python实现AES算法 密码学课程老师留的作业,我觉得用python...
    99+
    2024-04-02
  • java怎么实现rsa加密解密文件
    要在Java中实现RSA加密和解密文件,可以使用Java Cryptography Architecture(JCA)提供的RSA算...
    99+
    2023-10-26
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作