凯撒密码(Caesar)

简介: 凯撒密码(Caesar)

凯撒密码(Caesar)

  • 加密对象: 大小写字母
  • 原理:
  • 是一种移位加密方法,给每个字母排个索引,字母a-z索引依次为0-25
  • 偏移量是多少就向后面移动多少
  • 如:密文"Abc",偏移量为3,加密后为"Def"。移位量即是密钥.
  • 代码
# write by 2021/6/26
UPPER_DIC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
LOWER_DIC = "abcdefghijklmnopqrstuvwxyz"
def encrypt_caesar(string, offset):
    ciphertext = ""
    for i in string:
        if i in UPPER_DIC:
            new_index = (UPPER_DIC.index(i) + offset) % 26
            ciphertext += UPPER_DIC[new_index]
        elif i in LOWER_DIC:
            new_index = (LOWER_DIC.index(i) + offset) % 26
            ciphertext += LOWER_DIC[new_index]
        else:
            ciphertext += i
    return ciphertext
def decrypt_caesar(string, offset):
    return encrypt_caesar(string=string, offset=26-offset)
if __name__ == '__main__':
    ciphertext = encrypt_caesar("Caesar is good!", 3)
    plaintext = decrypt_caesar(ciphertext, 3)
    print(f"{plaintext}: {ciphertext}")


目录
相关文章
|
数据安全/隐私保护
【密码学】穴居人密码
【密码学】穴居人密码
151 1
|
数据安全/隐私保护
破解WIFI密码之密码字典
破解WIFI密码之密码字典
661 1
|
10月前
|
数据安全/隐私保护 C++
【C++】凯撒密码 实现加密与解密
【C++】凯撒密码 实现加密与解密
|
10月前
|
算法 安全 程序员
详解 DES加密技术 | 凯撒密码 | 栅栏密码
详解 DES加密技术 | 凯撒密码 | 栅栏密码
351 0
|
数据安全/隐私保护
【密码学】维京密码
【密码学】维京密码
115 1
|
数据安全/隐私保护
【密码学】密码棒密码
【密码学】密码棒密码
370 0
|
算法 数据安全/隐私保护 Python
|
数据安全/隐私保护
7-137 凯撒密码
7-137 凯撒密码
127 0
|
安全 网络安全 UED
要想破解验证码,就得从了解开始!
最近在研究验证码安全,本文就来介绍四种流行的验证码(滑动拼图、文字点选、语序点选、空间推理),写这篇文章的出发点并非是想绕过或破解验证码,而是根据自身业务情况来选择对应的验证码类型。
要想破解验证码,就得从了解开始!
|
数据安全/隐私保护
希尔密码(Hill)
希尔密码(Hill)
158 0