首页 > 编程知识 正文

南京邮电大学CTF,南京邮电大学ctf平台

时间:2023-05-04 00:21:36 阅读:286248 作者:2361

南京邮电大学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 +s print new_s reverse(new_s)def reverse(string): s = string[::-1] #**字母翻转 print s jiemi(s)def jiemi(string): string_new = '' string = base64.b64decode(string) #%base64解密 print string for s in string: # s = s.lower() num = ord(s) num = num - 1 code = chr(num) print code string_new = string_new + code print string_new flag = string_new[::-1] #**字母翻转 print flagdef main(): #string = raw_input('请输入密文:') string = 'iEJqak3pjIaZ0NzLiITLwWTqzqGAtW2oyOTq1A3pzqas' rot13(string)if __name__ == '__main__': main()

flag:



OK,用Python完成题目

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。