zoukankan      html  css  js  c++  java
  • buuctf-crypto

    借助buuctf密码题回顾一下基本的密码算法

    一、MD5

    1、原理

    密码散列函数,产生一个128位的散列值,具体加工不赘述

    2、识别

    散列值128位,16进制的数长度为32,2进制的数长度为128位

    二、url编码

    1、原理

    url编码是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。url编码就是一个字符ascii码的十六进制,不过稍微有些变动,需要在前面加上“%”。比如“”,它的ascii码是92,92的十六进制是5c,所以“”的url编码就是%5c。

    2、识别

    %xx%xx%xx

    3、题目

    三、一眼就解密/base64

    1、原理

    base64将三个字符转换为四个字符

    http://www.ruanyifeng.com/blog/2008/06/base64.html

    2、识别

    密文包含一些符号,例如=+/

    3、题目

    四、看我回旋踢

    1、原理

    rot13

    检查字元字母顺序并取代它在13位之后的对应字母,有需要超过时则重新绕回26英文字母开头即可

    2、识别

    synt是flag向后移13位替换的

    3、题目

    五、摩斯

    1、原理

    2、识别

    声音 or 点杠点

    3、题目

    六、password

    1、原理

    社工

    2、识别


    3、题目

    七、变异凯撒

    1、原理

    替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。

    2、识别

    看ascii码

    3、题目

    a:97   ->  f:102       +5

    f:102  ->  l:108       +6

    Z:90   -> a:97         +7

    _:95   -> g:103       +8

    猜测移的位数递增

    1 a='afZ_r9VYfScOeO_UL^RWUc'
    2 i = 5
    3 d = ""
    4 for b in a:
    5     c = ord(b) + i
    6     i = i + 1
    7     d = d + chr(c)
    8     print(d)
    View Code

    八、quoted-printable

    1、原理

    任何一个8位的字节值可编码为3个字符:一个等号“=”后跟随两个十六进制数字(0–9或A–F)表示该字节的数值。为了满足电子邮件中不能直接使用非ASCII码字符的规定,用于ACSII文本中夹杂少量非ASCII码字符的情况

    2、识别

    =xx=xx      xx(0–9或A–F

    3、题目

     

  • 相关阅读:
    微信小程序页面标签中无法使用的js语法
    React-Native真机调试
    微信小程序button设置宽度无效
    CSS禁止选中文本
    vue之 ref 和$refs的使用
    scrapy之 Spider Middleware(爬虫中间件)
    kafka
    Linux select、poll和epoll
    C/C++ 在一个一维数组中查找两个数,使得它们之和等于给定的某个值
    C/C++ 求浮点数平方根
  • 原文地址:https://www.cnblogs.com/dx-yll/p/15157156.html
Copyright © 2011-2022 走看看