我有特别的 Python 加密技巧
2014 12 7 01:21 PM 5396次查看
# -*- coding: rot_13 -*-
cevag 'uryyb jbeyq!'.rapbqr('rot_13')
嗯,它只是个 hello world 而已。比较奇怪的是它采用了 ROT13 编码,就是把 26 个英文字母的前 13 个字母与后 13 个字母的编码互换。
所以真正的代码就是:
print 'uryyb jbeyq!'.encode('rot_13')
而 'uryyb jbeyq!'.encode('rot_13') 的结果就是 'hello world!'。另外,根据 ROT13 编码的定义,encode('rot_13') 和 decode('rot_13') 的结果其实是一样的。
当然,我们也能自己实现这样一个转换:
from string import ascii_lowercase, ascii_uppercase, maketrans
rot13_lowercase = ascii_lowercase[13:] + ascii_lowercase[:13]
rot13_uppercase = ascii_uppercase[13:] + ascii_uppercase[:13]
rot13_table = maketrans(ascii_lowercase + ascii_uppercase, rot13_lowercase + rot13_uppercase)
print 'Hello World!'.translate(rot13_table) # Uryyb Jbeyq!
顺带一提,据说 Python 3 不支持这种文件编码,我还没测试过。
向下滚动可载入更多评论,或者点这里禁止自动加载。