rot13初学者和python的实现

http://www.shiyanbar.com/ctf/728
rot13初学者和python的实现
57R9S980RNOS49973S757PQO9S80Q36P (md5不解密)


解:
1.密文 rot13在线解密
http://www.mxcz.net/tools/rot13.aspx
2.编写一个"rot13"翻译器。"rot13"是一个古老而又简单的加密方法,它把字母表中的每个字母用其后的第13 个字母来代替。
字母表中前半部分字母将被映射到后半部分,而后半部分字母将被映射到前半部分,大小写保持不变。举例来说,
'a'将被替换为'n','X'将被替换为'K'; 数字和符号不进行翻译。现在自己动手,Rot13加解密真好互逆,这个特点美26/2=13。
#! usr/bin/env python  
# coding:utf-8  
import string  

upperdict = {}  
lowerdict = {}  
upperletters =string.ascii_uppercase
lowerletters =string.ascii_lowercase#:所有小写字母
  
  
dststr = []  
oristr = input('Enter string to rot13:')#版本3.0不能用raw_input
print('Your string ro en/crypt was :',oristr ) 
  
  
for i in range(0,len(lowerletters)):                       #把所有小写字母转为rot13  
	if i<13:  
		lowerdict[lowerletters[i]] = lowerletters[i+13]  
	else:  
		lowerdict[lowerletters[i]] = lowerletters[i-13]  
  
  
for i in range(0,len(upperletters)):                       #把所有大写字母转为rot13  
	if i<13:  
		lowerdict[upperletters[i]] = upperletters[i+13]  
	else:  
		lowerdict[upperletters[i]] = upperletters[i-13]  
  
  
for ch in oristr:  
	if ch in lowerdict:  
		dststr.append(lowerdict[ch])  
	elif ch in upperdict:  
		dststr.append(upperdict[ch])  
	else:  
		dststr.append(ch)  
dststr = ''.join(dststr)  
  
  
print('the rot13 string is:',dststr ) 
rot13初学者和python的实现_第1张图片

你可能感兴趣的:(rot13初学者和python的实现)