ctf ordinary keyboard的加密问题
生活随笔
收集整理的這篇文章主要介紹了
ctf ordinary keyboard的加密问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
李磊是一名程序員,在他的筆記本里有一些這樣的記錄:
QQ:iloveyou521
blog:blog132
wechat:wechat190
看著應(yīng)該像是密碼,于是嘗試去登錄,發(fā)現(xiàn)密碼錯(cuò)誤
后來一打聽,原來他將這些密碼經(jīng)過自己寫的一個(gè)簡(jiǎn)單的加密算法變成真實(shí)的密碼,而自己筆記本中存放的只是一些虛假的密碼,只是方便記憶而已
其真實(shí)密碼如下:
QQ:+p)g$_)'521
blog:hp)u132
wechat:A$ezr&190
hint:Caesar
flag is spru.r5sf3h7660h7394e169699hffe0s0h$4,
Please restore the real flag
def decry(cipher):strs1 = "asdfghjkl;qwertyuiop!@#$%^&*()-+"strs2 = "zxcvbnm,./asdfghjkl;qwertyuiop{}"dir = dict(zip(strs1,strs2))num = "0123456789"res = ""for i in cipher:if i not in num:res += dir[chr(ord(i)-1)]else:res += ireturn resdef main():cipher = "spru.r5sf3h7660h7394e169699hffe0s0h$4,"print(decry(cipher))if __name__ == '__main__':main()flag{a5fd3b7660b7394c169699bddc0f0be4}
總結(jié)
以上是生活随笔為你收集整理的ctf ordinary keyboard的加密问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript五子棋
- 下一篇: Java Language——IO 机制