用Python实现ROT13
来源:互联网 发布:统计查询sql语句 编辑:程序博客网 时间:2024/05/11 04:06
ROT13(回转13位,rotateby13places,有时中间加了个减号称作ROT-13)是一种简易的置换暗码。它是一种在网路论坛用作隐藏八卦、妙句、谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥。
套用ROT13到一段文字上仅仅只需要检查字元字母顺序并取代它在13位之后的对应字母,有需要超过时则重新绕回26英文字母开头即可[2]。A换成N、B换成O、依此类推到M换成Z,然后序列反转:N换成A、O换成B、最后Z换成M。只有这些出现在英文字母里头的字元受影响;数字、符号、空白字元以及所有其他字元都不变。因为只有在英文字母表里头只有26个,并且26=2×13,ROT13函数是它自己的逆反。
import string
def rotate_letter(letter, n):
"""Rotates a letter by n places. Does not change other chars.
letter: single-letter string
n: int
Returns: single-letter string
"""
if letter.isupper():
start = ord('A')
elif letter.islower():
start = ord('a')
else:
return letter
c = ord(letter) - start
i = (c + n) % 26 + start
return chr(i)
def rotate_word(word, n):
"""Rotates a word by n places.
word: string
n: integer
Returns: string
"""
res = ''
for letter in word:
res += rotate_letter(letter, n)
return res
if __name__ == '__main__':
print rotate_word('cheer', 7)
print rotate_word('melon', -10)
print rotate_word('sleep', 9)
- 用Python实现ROT13
- rot13初学者和python的实现
- rot13
- rot13
- python2.7.5实现ROT13编解码
- win7下libevent实现的rot13服务器
- 【加密】ROT13
- ROT13函数
- rot13 编码
- ROT13密码
- Python核心编程中习题(第7章的加密 rot13翻译器)
- ROT13加密和解密
- (字典)rot13加密
- rot13加密解密
- rot13加密和解密
- c#使用ROT13加密,解密
- go语言Exercise: Rot13 Reader
- udacity-web development-homework(unit2-rot13)
- AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别
- 进制转换
- 使用qtcreator-2.6.1创建Application的过程
- 2014.11.19超级复制
- Computer Architecture Top Journal
- 用Python实现ROT13
- 白话一下什么是决策树模型
- C++ 中string类的大小
- webservice
- C++ stl之set容器
- SDN概述,SDN是什么?
- 项目-V0.0.3-犯二的信号处理函数
- Qt5的插件机制(2)--QxxxFactory类与QFactoryLoader类
- 用户属性标签系统建设思路以及结构