`

使用凯撒加密法加密

 
阅读更多

凯撒密码

 

凯撒:

除了是一个男人之外,他还是古罗马时期伟大的军事家和政治家。高卢战争的时候,他发明了这个密码,使得可以在敌人无法理解的情况下与联军进行联络。

 

凯撒密码:

正如刚才我们例子中的,将明文中的各个字符按顺序进行 n 个字符错位转换的加密方法我们称为凯撒密码。

优点:实现了最简单的加密方案,容易理解

缺点:对于有一点点密码学功底的朋友来说,安全强度几乎为零,有点弱不禁风。

 

密码的安全强度:

刚才我们提到了安全强度这个概念,顺道给大家介绍下。

例如凯撒密码,加密钥匙充其量也只有24个,也就是说,不管移动多少字符,最多只需要进行24次猜解即可破译出来!

知识普及:古代罗马字母只有25个哦 ^_^

 

栅栏密码

 

尽管名字看上去挺酷,不过很遗憾让大家失望了,栅栏密码也是很脆弱的。

所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第一个字母连起来,形成一段无规律的密文。

注意,栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)

 

在线虚拟加密:https://inventwithpython.com/cipherwheel/

# -*- coding: utf-8 -*-
# @Time    : 2017/4/27 22:13
# @Author  : xiaojingjing
# @Site    : 
# @File    : pyperclip_test.py
# @Software: PyCharm
import  pyperclip


# message='This is my secret message.'
message=input("请输入需要加密的信息(必须为英文):")

key=int(input("请输入加密key的值(0~25整数):"))
#tells the program to encrypt or decrypt
# set to 'encrypt' or  'decrypt'
mode='encrypt'

#every possible symbol that can be encrypted
LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'

#stores the encrypted/decrypted form of the message
translated=''

#capitalize the string in message
#upper转换成大写,lower转换成小写
message=message.upper()

#run the encryption/decrypted code on each symbol in the message string
for symbol in message:
    if symbol in LETTERS:
        #get the encrypted(or decrypted) number for this symbol
        num=LETTERS.find(symbol)
        if mode=='encrypt':
            num=num+key
        elif mode=='decrypt':
            num=num-key

        #handle the wrap-around if num is larger than the length of
        #LETTERS or less than 0
        if num>=len(LETTERS):
            num=num-len(LETTERS)
        elif num<0:
            num=num+len(LETTERS)
        #add encrypted/decrypted number's symbol at the end of translated
        translated=translated+LETTERS[num]
    else:
        #just add the symbol without encrypting/decrypting
        translated=translated+symbol
print("使用凯撒加密,其中K='",key,"'时,对'",message,"'加密结果为:",translated)

#加密后的字符串结果复制到剪切板,通过Ctrl+V即可粘贴
pyperclip.copy(translated)

 

分享到:
评论

相关推荐

    凯撒加密程序 C++编写

    凯撒加密法,作为一种简单而又古老的加密技术,它的原理是通过将文本中的字母按照一定数量的位移来进行加密,这一过程也被称为移位密码。该加密方法的核心在于对字母表进行循环移位,即以固定的偏移量将字符向前或向...

    C++实现简单凯撒加密解密算法

    该资源C++实现简单凯撒加密解密算法,内容简单实用,希望能帮助大家

    凯撒加密法的编程题

    在给定的【标题】"凯撒加密法的编程题"中,我们可以理解这是一道编程题目,要求使用C语言实现凯撒加密法的算法。C语言是一种底层、高效的编程语言,适合处理这种基础的字符串操作。 【描述】中的"用C语言编的凯撒...

    凯撒加密与频率分析解密

    在本资源中,你可以找到用C#语言编写的凯撒加密和解密的源代码。C#是一种面向对象的编程语言,由微软开发,广泛应用于Windows平台的软件开发,也适用于网络应用和游戏开发。学习这个代码,你可以理解如何利用C#的...

    凯撒加密软件及其源码

    凯撒加密,又称凯撒密码,是历史上最早且最简单的替换式加密技术之一,由古罗马的凯撒大帝所使用,因此得名。这种加密方法的核心思想是将明文中的每个字符按照字母表顺序向右(或向左)平移固定的位数,形成密文。...

    凯撒密码加密、暴力解密

    凯撒密码,又称凯撒加密法,是一种古老且基础的替换式加密技术,由古罗马的凯撒大帝使用而得名。这种加密方法通过将明文中的每个字符按照一个固定位数进行字母表上的平移来实现加密,而解密则通过相反的平移操作完成...

    凯撒密码转换器

    这种操作的简便性是凯撒密码广为流传的原因之一,它允许使用者无需深入理解复杂的加密算法,即可对信息进行初步的保护。 然而,凯撒密码的简单性也是其最大的弱点。在现代密码学的攻击技术面前,凯撒密码几乎无法...

    凯撒密码生成与解码器

    凯撒密码加密和解密器。 提供对原文的快速,准确凯撒加密和密文的解密,允许自行控制加密条件!

    凯撒密码(对文本进行加密)

    一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。

    JAVA试题,所得税计算,凯撒加密器

    2. **使用凯撒加密法**:对字符串进行加密或解密。 3. **输出结果**:将加密或解密的结果输出到控制台。 ##### 类的设计与实现步骤 为了实现上述功能,需要设计三个类: - **输入台控制类(Switcher)**:用于处理...

    凯撒密码加密解密算法 C++

    通过本篇对凯撒密码加密解密算法的C++实现的解析,我们不仅学习到了一种基本的加密方法,还了解了如何在编程语言中实现这一算法。尽管现代密码学已经发展出更为复杂和安全的加密技术,但对于初学者来说,凯撒密码仍...

    恺撒密码转换器exe

    恺撒密码是一种简单的字母移位加密法。在加密过程中,每个字母被替换为字母表中固定数量的位置之后的字母。例如,如果偏移量是3,那么字母"A"将被替换为"D","B"变为"E",以此类推。当遇到字母表末尾时,会循环回到...

    一个用经典加密的关键词加密法进行加密的网页加密器

    在这个项目中,我们关注的是一个使用“经典加密的关键词加密法”对网页内容进行加密的工具。这个工具可能是一个基于HTML的简单网页应用,它将文本,尤其是汉字,首先通过Base64编码转化为可加密的形式。 关键词加密...

    kaisamima.rar_kaisamima_kaisamima c++_凯撒加密c++_凯撒密码_凯撒密码c++

    凯撒密码,又称为凯撒加密法,是古代最简单且常见的替换式加密技术,以其创始人罗马皇帝朱利叶斯·凯撒命名。在C++编程语言中实现凯撒密码,我们可以深入理解加密和解密的基本原理,以及如何用C++进行字符串处理。 ...

    凯撒密码解码器

    对一段密码进行凯撒解码,显示所有可能明码

    python实现维吉尼亚加密法

    ### Python 实现维吉尼亚加密法详解 #### 一、维吉尼亚加密法简介 维吉尼亚加密法(Vigenère cipher),是一种多字母表替换密码。它通过使用一系列交错的凯撒密码来提高安全性,这使得纯文本中的每个字母都被不同...

    MATLAB 实现Caesar密码加密与解密

    Caesar密码,也被称为凯撒密码,是一种古老且简单的替换式加密技术,它通过将明文中的每个字母向右(或向左)平移固定数量的位置来实现加密。在这个项目中,我们使用了MATLAB这一强大的数值计算和编程环境来实现...

    java加密解密程序

    在本例中,使用了凯撒加密法,这是一种简单的替换加密技术。在凯撒加密中,原文的每个字符都按照固定的偏移量在字母表上移动,然后用移动后的字符替换原文字符。 **凯撒加密法:** 凯撒加密法,又称凯撒密码,最早...

    凯撒加密解密实验报告.docx

    3. **文件加密/解密程序**:实现凯撒加密法和ROT13加密的加密和解密功能。这涉及字符串处理和算法实现。 4. **文件压缩/解压缩程序**:设计一个简单算法,例如,将连续重复的字符压缩成数量+字符的形式,并计算压缩...

Global site tag (gtag.js) - Google Analytics