1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 南京邮电大学CTF-密码学-骚年来一发吗

南京邮电大学CTF-密码学-骚年来一发吗

时间:2019-12-27 11:28:51

相关推荐

南京邮电大学CTF-密码学-骚年来一发吗

南京邮电大学CTF-密码学-骚年来一发吗

看到了很多关于这道题目求解的博客,都是用PHP求解的,而我想用Python来求解

题目如下:

加密过程:

翻转字符串-字符对应的ASCII码加1-base64加密-翻转-字符向前移13位加密

解密过程:

字符向后移13位-翻转-base64解码-ASCII码减1-翻转

Python解密代码:

#%密码学#%题目:骚年来一发,(PHP加密代码)#%python解密import base64def rot13(string): #**字母向后移动13位new_s = ''for s in string:#s = s.lower() #**转换成小写num = ord(s)if num>=97 and num <=122:num = 97 + ((num-97)+13)%26 #**小写字母向后移动13位s = chr(num)elif num>=65 and num<=90:num = 65 + ((num-65)+13)%26 #**大写字母向后移动13位s = chr(num)print chr(num)new_s = new_s +sprint new_sreverse(new_s)def reverse(string):s = string[::-1] #**字母翻转print sjiemi(s)def jiemi(string):string_new = ''string = base64.b64decode(string) #%base64解密print stringfor s in string:# s = s.lower()num = ord(s)num = num - 1code = chr(num)print codestring_new = string_new + codeprint string_newflag = string_new[::-1] #**字母翻转print flagdef main():#string = raw_input('请输入密文:')string = 'iEJqak3pjIaZ0NzLiITLwWTqzqGAtW2oyOTq1A3pzqas'rot13(string)if __name__ == '__main__':main()

flag:

OK,用Python完成题目

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。