资讯专栏INFORMATION COLUMN

基于python语言实现凯撒加密

macg0406 / 2036人阅读

摘要:一什么是凯撒密码在密码学中,恺撒密码英语,或称恺撒加密恺撒变换变换加密,是一种最简单且最广为人知的加密技术。关于凯撒密码的详细介绍恺撒密码百度百科恺撒密码百度百科二实现凯撒加密凯撒密码程序的源代码在文件编辑器中建立文件,并将其保存为。

 一、什么是凯撒密码

        “在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。”

        关于凯撒密码的详细介绍:恺撒密码_百度百科

 二、python实现凯撒加密

凯撒密码程序的源代码 :
        在文件编辑器中建立.py文件,并将其保存为caesarCipher.py。然后将本文配套资源 
中的pyperclip.py模块放在与 caesarCipher.py 文件相同的目录(相同的文件夹)中、
caesarCipher.py将导人这个模块。pyperclip.py模块如下:

凯撒密码的pyperclip.py模块_༄༊ξ李的脏脏星࿐的博客-CSDN博客

1.首先引用pyperclip.py模块:

import pyperclip

2.定义变量message,message为要加密的字符串: 

# The string to be encryptedmessage = "ILOVEYOU."

 3.将偏移设为3,即令key=3,设置为解密模式,并加入所有可加密的符号:

# The encryption key:key = 3mode = "decrypt"# Every possible symbol that can be encrypted:SYMBOLS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 !?."

4. translated储存信息的解密形式,仅加密/解密在symbols和SYMBOLS里共有的字符(串)

# Stores the encrypted/decrypted form of the message:translated = ""for symbol in message:    # Note: Only symbols in the `SYMBOLS` string can be encrypted/decrypted.    if symbol in SYMBOLS:        symbolIndex = SYMBOLS.find(symbol)       

5.执行加密/解密并添加未加密/解密的字符:

 # Perform encryption/decryption:        if mode == "encrypt":            translatedIndex = symbolIndex + key        elif mode == "decrypt":            translatedIndex = symbolIndex - key        # Handle wrap-around, if needed:        if translatedIndex >= len(SYMBOLS):            translatedIndex = translatedIndex - len(SYMBOLS)        elif translatedIndex < 0:            translatedIndex = translatedIndex + len(SYMBOLS)        translated = translated + SYMBOLS[translatedIndex]

 6.输出translated字符串:

print(translated)pyperclip.copy(translated)


 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/122457.html

相关文章

  • Github标星2w+,热榜第一,如何用Python实现所有算法

    摘要:归并排序归并排序,或,是创建在归并操作上的一种有效的排序算法,效率为大符号。以此类推,直到所有元素均排序完毕。与快速排序一样都由托尼霍尔提出的,因而也被称为霍尔选择算法。 showImg(https://segmentfault.com/img/remote/1460000019096360);编译:周素云、蒋宝尚 学会了Python基础知识,想进阶一下,那就来点算法吧!毕竟编程语言只...

    zxhaaa 评论0 收藏0
  • Golang 实现凯撒密码

    摘要:一凯撒密码加密代码思路基本思路设置明文和位移步长秘钥将明文转成小写,准备明文字节切片与密文切片循环将每个明文字符按照位移步长做位移,存入密文切片返回密文导入包包含字符串操作相关方法凯撒密码加密代码一凯撒密码加密将明文转成小写将明文字符串转成 一.凯撒密码加密代码思路 基本思路: 设置明文 和 位移步长(秘钥) 将明文转成小写,准备 明文字节切片 与 密文切片 循环将每个明文字符 按...

    el09xccxy 评论0 收藏0
  • CTF编码全家桶小程序

    摘要:编码全家桶小程序提供实体莫尔斯电码等编码转换工具,凯撒密码栅栏密码等加密工具,及地址查询信息查询等工具。 CTF编码全家桶小程序提供Base64、Url、HTML实体、莫尔斯电码等编码转换工具,凯撒密码、栅栏密码、ROT13、MD5、SHA等加密工具,及IP地址查询、Whois信息查询等工具。showImg(https://segmentfault.com/img/bVbiudU?w=...

    zlyBear 评论0 收藏0
  • 密码学入门(一):用Python实现对称加密算法

    0.前言 最开始只是想整理一下密码学课程的作业,后面越写越多,就索性写成一篇入门的介绍。我会把自己对对称加密的理解和一些作业的代码串起来,力图清晰明白地展示出来,文中所有代码都放在我的Github上,如果有错误之处还请轻拍。 文章地址:https://gooong.cn/post/crypto... 代码地址:https://github.com/Gooong/Cry... 1.对称密码基...

    henry14 评论0 收藏0
  • 利用Python制作音乐下载器【支持所有主流的平台】

    摘要:目前支持的平台网易云音乐酷狗音乐音乐千千百度音乐酷我音乐虾米音乐。存在的退出程序后存在类似进程残留的现象。具体实现过程详见源代码。 文章首发于公众号:Charles的皮卡丘作者:Charles 开发工具:Python版本:3.6.4相关模块:pycryptodome模块;pillow模块;requests模块;以及一些Python自带的模块。 环境搭建:安装Python并添加到环境变量...

    hosition 评论0 收藏0

发表评论

0条评论

macg0406

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<