凯撒密码

凯撒加密法

本文介绍凯撒加密法,没错就是那个为了美女舍弃王国的凯撒大帝。
在这里插入图片描述
凯撒密码视频介绍,点这里


话不多说,直接上代码


代码:

	#coding = "utf-8"
	LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'  #译码表
    message = 'There is a cat.'
    message = message.upper()  #把信息的字母转换成大写
    key = 8  #密钥
    mode = 'encrypt'  #encrypt:加密  decrypt:解密
    translated = ""
    for letter in message:
        if letter in LETTERS:
            num = LETTERS.find(letter)
            if mode == 'encrypt':
                num += key
            elif mode == 'decrypt':
                num -= len(LETTERS)
            if num >= len(LETTERS):
                num -= len(LETTERS)
            elif num < 0:
                num += len(LETTERS)
            translated += LETTERS[num]
        else:
            translated += letter
    print(translated)

结果:BPMZM QA I KIB.


当然因为译码表里没有空格和.,所以空格和.还是原样,可以在译码表添加数字或是特殊字符
例如:
LETTERS = ‘,!@#$%^_+ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789’
示例:message = ‘Life is short, I use python.’
结果:TQNM Q1 1PWZ2+ Q 31M X72PWV.


下一次讲凯撒密法的暴力破解方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值