zoukankan      html  css  js  c++  java
  • Bugku-CTF加密篇之简单加密(e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA)

    简单加密

     
    e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA
     
     
     
     
     
     
    本题要点:凯撒加密、base64加密、ASCII编码
     
     
     
    首先观察一下,这一串编码........
     
    不像是常见的加密方式....猜测应该是混合加密......
     
    通过这串编码最后的特征.....AA......(base64的编码特征最后两位是==)
     
    猜测是 凯撒和base64的混合加密
     
     
    首先参照ASCII表,A的ASCII是65,=的ASCII是61,偏移了四位。
     
    参考大佬的py脚本~
     
     

    代码1:

     
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
     
    def caesar(text):
        for i in range(len(text)):
            print("{}".format(chr(int(ord(text[i])-4))),end='')
     
     
    caesar('e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA')
     
    运行结果:
     
     
    得到base64的编码字符串~
     
    放到在线网站解一下密吧~
     
     
     
    key{68743000650173230e4a58ee153c68e8}
     
     

     

    代码2:

     
    本人根据上面代码1改编了一下~
     
    #! /usr/bin/env python3
    # -*- coding: UTF-8 -*-
     
     
    import base64
     
     
    text = input("请输入密文: ")
    info = ''
     
     
    for i in range(len(text)):
        r = {}
        r = (chr(int(ord(text[i])-4)))
        info+=r[0]
     
    print(info)
    flag = base64.b64decode(info)
    print(flag)

    运行结果~

    完成~
     
     
     
     
    参考资料:
     
    https://blog.csdn.net/qq_39629343/article/details/80148403
     
     
     
  • 相关阅读:
    指针总结与地址
    寻址方式
    为什么要有指针?
    指针与变量
    Wired Memory
    Memory Usage Performance Guidelines
    内存管理与运行时
    Java jvm 内存回收机制
    GC详解及Minor GC和Full GC触发条件总结
    Java的内存回收机制详解X
  • 原文地址:https://www.cnblogs.com/0yst3r-2046/p/11687003.html
Copyright © 2011-2022 走看看