首页 > 其他 > 详细

Caesar cipher

时间:2020-01-07 11:42:43      阅读:98      评论:0      收藏:0      [点我收藏+]

Description: https://en.wikipedia.org/wiki/Caesar_cipher

 

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 恺撒挪移式密码法
## 密码字母移动三位
def caesar_crypt(plain):
    a, z = ord(a), ord(z)
    cipher = []
    for char in plain:
        c = char
        if c !=  :
            asc = ord(c) - 3
            if asc < a:
                asc = z - (a - asc) + 1
            c = chr(asc)
        cipher.append(c)
    return "".join(cipher)

def caesar_decrypt(cipher):
    a, z = ord(a), ord(z)
    plain = []
    for char in cipher:
        c = char
        if c !=  :
            asc = ord(c) + 3
            if asc > z:
                asc = a + (asc - z) - 1
            c = chr(asc)
        plain.append(c)
    return "".join(plain)


def main():
    plain = "the quick brown fox jumps over the lazy dog"
    print(plain)
    cipher = caesar_crypt(plain)
    print(cipher)
    plain = caesar_decrypt(cipher)
    print(plain)


if __name__ == __main__:
    main()

 

Caesar cipher

原文:https://www.cnblogs.com/goodspeed/p/12159668.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!