鸡藕椒盐味浅析

#题目:
公司食堂最新出了一种小吃,叫鸡藕椒盐味汉堡,售价八块钱,为了促销,上面有一个验证码,输入后可以再换取一个汉堡。但是问题是每个验证码几乎都有错误,而且打印的时候倒了一下。小明买到了一个汉堡,准备还原验证码,因为一个吃不饱啊~~验证码如下:1100 1010 0000 。把答案哈希一下就可以提交了。(答案为正确值(不包括数字之间的空格)的32位md5值的小写形式)

0x00

仔细阅读

公式:2^k≥n+k+1

0x01 校验位

编号 1 2 3 4 5 6 7 8 9 ……
二进制 0001 0010 0011 0100 0101 0110 0111 1000 1001 ……

校验位:1248

0x02 排列

汉明码 0 0 0 0 0 1 0 1 0 0 1 1
校验位 0 0 - 0 - - - 1 - - - -
信息位 - - 0 - 0 1 0 - 0 0 1 1

发送端校验位:1000
得到:11000100

0x03 纠错

C 1 2 3 4 5 6 7 8
信息位 0 0 1 0 0 0 1 1

接收端检验位:
P4=C5+C6+C7+C8=0+0+1+1=0
P3=C2+C3+C4+C8=0+1+0+1=0
P2=C1+C3+C4+C6+C7=0+1+0+0+1=0
P1=C1+C2+C4+C5+C7=0+0+0+0+1=1

发送端校验位 1 0 0 0
接收端检验位 0 0 0 1
监督位 1 0 0 1

当监督位为:0000。说明接收方生成的校验位和收到的校验位相同,否则说明出错。
1001转换为10进制9,说明验证码第9位出错,
正确的是:110110100000,md5哈希一下即答案

到此结束

如有错误请联系lanbaidetanlang@qq.com

文章目录
  1. 1. 0x00
  2. 2. 0x01 校验位
  3. 3. 0x02 排列
  4. 4. 0x03 纠错
  • 到此结束