下载压缩包 bitwise.rar
解压后有如下文件
打开 bitwise.py 和 bitewise.java 看一下源码
发现代码的作用是一样的
关键代码且很明白的写在源码里面了
1 | verify_arr = [193, 35, 9, 33, 1, 9, 3, 33, 9, 225] |
简单来说就是:
1.假码必须是10位
2.假码通过 ((ord(char) << 5) | (ord(char) >> 3)) ^ 111) & 255 运算后符合verify_arr的内容
那么我们有一个简单粗暴的思路
因为我们输入的是ascii码,而ascii码我们可以输入的范围大概是在0x20-0x7E
所以我们直接for循环0x20-0x7E范围内的字符,然后运算和真码进行比较,如果是正确的且唯一的话,就会输出出来
具体效果如下
代码我也直接贴出来了
1 | verify_arr = [193, 35, 9, 33, 1, 9, 3, 33, 9, 225] |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 咲夜南梦's 博客!
评论