Python密码学Caesar Cipher凯撒密码算法教程

 更新时间:2022年05月23日 16:20:03   作者:菜鸟教程  
这篇文章主要为大家介绍了Python密码学Caesar Cipher凯撒密码算法教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

在最后一章中,我们处理了反向密码.本章详细讨论了凯撒密码.

凯撒密码算法

凯撒密码的算法具有以下特征;

  • Caesar Cipher Technique是一种简单易用的加密技术方法.
  • 这是一种简单的替换密码类型.
  • 每个纯文本字母都被一个字母替换,字母的位数固定不变./p>

下图描绘了Caesar密码算法实现的工作原理 :

Caesar密码算法的程序实现如下 :

def encrypt(text,s):
result = ""
   # transverse the plain text
   for i in range(len(text)):
      char = text[i]
      # Encrypt uppercase characters in plain text
      if (char.isupper()):
         result += chr((ord(char) + s-65) % 26 + 65)
      # Encrypt lowercase characters in plain text
      else:
         result += chr((ord(char) + s - 97) % 26 + 97)
      return result
#check the above function
text = "CEASER CIPHER DEMO"
s = 4
print "Plain Text : " + text
print "Shift pattern : " + str(s)
print "Cipher: " + encrypt(text,s)

输出

你可以看到凯撒密码,即输出如下图所示 :

说明

  • 一次遍历一个纯文本字符.
  • 对于给定纯文本中的每个字符,根据规则转换给定字符,具体取决于加密过程文本的说明和解密.
  • 遵循这些步骤后,会生成一个新的字符串,称为密文.

凯撒密码算法的黑客攻击

密码文本可以被各种可能性攻击.其中一种可能性是暴力技术,其中涉及尝试每个可能的解密密钥.这种技术不需要太多努力,对于黑客来说相对简单.

黑客攻击凯撒密码算法的程序实现如下

message = 'GIEWIVrGMTLIVrHIQS' #encrypted message
LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
for key in range(len(LETTERS)):
   translated = ''
   for symbol in message:
      if symbol in LETTERS:
         num = LETTERS.find(symbol)
         num = num - key
         if num < 0:
            num = num + len(LETTERS)
         translated = translated + LETTERS[num]
      else:
         translated = translated + symbol
print('Hacking key #%s: %s' % (key, translated))

考虑上一个示例中加密的密文.然后,使用密钥和使用暴力攻击技术的可能的黑客攻击方法的输出如下 :

以上就是Python密码学Caesar Cipher凯撒密码算法教程的详细内容,更多关于Python密码学Caesar Cipher的资料请关注脚本之家其它相关文章!

相关文章

  • Python获取列表值的方法小结

    Python获取列表值的方法小结

    在 Python 编程中,列表(list)是一种非常常见且强大的数据结构,本文将通过简洁明了的方式,结合代码和案例,介绍如何获取列表中的值,需要的可以了解下
    2024-11-11
  • 利用Python程序读取Excel创建折线图

    利用Python程序读取Excel创建折线图

    这篇文章主要介绍了利用Python程序读取Excel创建折线图,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 基于python中__add__函数的用法

    基于python中__add__函数的用法

    今天小编就为大家分享一篇基于python中__add__函数的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python爬虫爬取指定内容的解决方法

    python爬虫爬取指定内容的解决方法

    这篇文章主要介绍了python爬虫爬取指定内容,爬取一些网站下指定的内容,一般来说可以用xpath来直接从网页上来获取,但是当我们获取的内容不唯一的时候我们无法选择,我们所需要的、所指定的内容,需要的朋友可以参考下
    2022-06-06
  • 使用Python编写文件重复检查器的完整代码

    使用Python编写文件重复检查器的完整代码

    在日常工作中,我们经常需要处理大量文件,但有时候会遇到文件重复的情况,为了有效管理文件并避免重复占用存储空间,我们可以编写一个简单的Python程序来检查文件夹中是否存在重复文件,本文将介绍如何使用Python和其库来编写一个文件重复检查器
    2024-08-08
  • Django 解决上传文件时,request.FILES为空的问题

    Django 解决上传文件时,request.FILES为空的问题

    这篇文章主要介绍了Django 解决上传文件时,request.FILES为空的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • PyTorch解决ModuleNotFoundError: No module named ‘torch’

    PyTorch解决ModuleNotFoundError: No module named

    本文主要介绍了PyTorch解决ModuleNotFoundError: No module named ‘torch’,这个错误意味着我们的Python环境中没有安装PyTorch库,无法正常使用其功能,下面就来具体介绍一下
    2024-03-03
  • python实现拼图小游戏

    python实现拼图小游戏

    这篇文章主要为大家详细介绍了python实现拼图小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • 结合Python网络爬虫做一个今日新闻小程序

    结合Python网络爬虫做一个今日新闻小程序

    本篇文章介绍了我在开发过程中遇到的一个问题,以及解决该问题的过程及思路,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-09-09
  • 使用Tensorflow hub完成目标检测过程详解

    使用Tensorflow hub完成目标检测过程详解

    这篇文章主要为大家介绍了使用Tensorflow hub完成目标检测过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04

最新评论