鸡藕椒盐味

48 篇文章 4 订阅
28 篇文章 0 订阅

鸡藕椒盐味

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

解密
验证码:1100 1010 0000

倒一下:000001010011
再用MD5加密,还是不对

漏了一条:每个验证码几乎都有错误。

这题开始是没有丝毫思路的,然后就去看了大佬的WP:鸡藕椒盐味=奇偶校验位,汉堡的售价八块钱,想到校验方法的海明校验,数据为8位,校验位为4位。

海明校验码

首先倒置数据得到:000001010011 其中第1位第2位第4位第8位的数据为校验码设为r1,r2,r4,r8列出表

1(r1)=0
2(r2)=0
3(n3)r2+r1
4(r4)=0
5(n5)r4+r1
6(n6)r4+r2
7(n7)r4+r2+r1
8(r8)=1
9(n9)r8+r1
10(n10)r8+r2
11(n11)r8+r2+r1
12(n12)r8+r4

将有r1的数据位异或

校验位r1 :0 = n3n5n7n9n11

同理 r2 : 0 = n6n7n10^n11

r4 : 0 = n5n6n7^n12

r8 : 1 = n9n10n11^n12

根据上面4个式子可发现r8式子有问题计算结果不为1,则n9,n10,n11三位中有错,又上面3个式子已经校验的n10,n11无错所以排除,即n9出错!

最终数据改为000001011011 倒置后110110100000 再md5加密获取32位小写值

得到

d14084c7ceca6359eaac6df3c234dd3b

所以flag是

flag{d14084c7ceca6359eaac6df3c234dd3b}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值