![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
凯撒密码
文章平均质量分 51
名剑求瑕
风满楼,卷黄沙,舞剑春秋,名震天下!
展开
-
对汉字加解密
#对汉字加解密def enChar(x,key): # 加密 xid = ord(x)-first_ascll # 明文编号 yid = (xid+key) % n # 密文编号 y = chr(first_ascll+yid) # 求出密文字符 return yfirst_ascll = 0 # 起始字符n = 65536 # 字符总数def Caesar(text,key): result = '' for x in text:原创 2021-11-18 21:04:56 · 859 阅读 · 0 评论 -
【无标题】
任务描述 完成了一个字符的加密,对一整段文本进行加密就比较简单了,只要对文本里面的字符逐一处理。 本关任务是加密一段文本。相关知识 在实现时,有个地方要注意一下,enChar函数只能处理小写英文字母,但在文本里面可能还有其它字符,如大写字母、数字、标点符号、空格等。 所以,在处理文本中的某个字符x时,要先判断一下,如果x是小写字母(即’a’<=x<=‘z’),就使用enChar函数加密,否则不加密(保持不变)。编程要求 在 Begin-End 区间实现Caesar(tex原创 2021-11-23 21:58:04 · 371 阅读 · 0 评论 -
加密一个小写字母(续)
任务描述 上关方法并不能正确处理所有小写英文字母,比如’y’偏移 2 位得到的是’{’。这是因为在 ASCII 编码表中,‘y’向后移动 2 位对应的字符就是’{’。而凯撒加密规定,如果偏移时超过了字符’z’,就重新从’a’开始,所以’y’偏移 2 位得到的应该是’a’。这种偏移方式称为循环偏移。 本关任务是利用循环偏移方式加密一个小写英文字母。相关知识循环偏移的实现 先不考虑 ASCII 码,给 26 个小写字母重新编号,‘a’~'z’的编号依次是 0~25。设某个字符 x 的编号是 xi原创 2021-11-23 21:52:09 · 761 阅读 · 0 评论