题目是:DZ论坛的安全问题答案的密文是:582a4019,反向解译明文答案。
加密规则是:
例子為1ff2f592加密的算法仍是MD5,加密的過程是,若你安全提問選如第一個"母親的名字",
那安全提問的questionid就為1
questionid由上到下排列,其中共有7个最高,所以questionid的值為1-7,由此類推
把questionid(1-7中任选一个阿拉伯数字)加密為32位的md5 (加密的questionid是數字..可察看登錄的原始碼)
然後把結果直接加在回答答案的後面 再用md5加密
最後取其結果的第17位到第24位這8個數字 便是最後的加密結果例子:
以(安全問題是"第二個問題"、答案是123456)為例
把2加密後為32位的 c81e728d9d4c2f636f067f89cc14862c
然後直接寫在回答答案的後面為 123456c81e728d9d4c2f636f067f89cc14862c
以上再加密為32位的 46ec6c2c278daf231ff2f5929f27f605
取以上的第17位到第24位這8個數字 便是 1ff2f592
1ff2f592便是安全问题的密文
解决方案 »
- 谁给我个国外的免费php+mysql空间申请地址
- 怎样立即输出缓存区内容?使用了flush()但总是不能立即看到输出。
- discuz 添加DIY模块全是未使用
- 有没有类似haozip.com或者coolrar.com
- 上传视频的问题
- 为什么phpcms中首页的就是不能更新呢?(会的帮帮忙解答一下,谢谢!)
- 百度地图使用过程中的一个问题!
- curl模拟登陆正方教务管理系统
- 使用PHP Tools for Visual Studio开发,License Key咋获取
- php在服务器写好curl爬虫去爬某个网站,然后我用前端ajax去调用获取返回值获取不到
- 这个问题我发了十多个网站为什么没人回答呢,真的很难吗???还是本为就没有
- PHP程序如何做加密和授权?
被OUT了才来发,
解决问题的激情都没有了。
从 MD5 码反求明文基本上是不可能的。即便你掌握了快速寻找碰撞的算法,也不能就此认定找到的就是原文
如果真的能“反向解译明文”,那么这个“安全问题”就形同虚设了我不认为出题者会犯如此低级的错误
我以为是楼主误解题目的含义,真正的问题是“反向解译明文答案号”
据此答案号就可取出保存的答案与用户输入的答案进行比较,以验证真伪
把questionid(1-7中任选一个阿拉伯数字)加密為32位的md5$答案 = array(1 => '', '123456', '', '', '', '', '');$密文 = '1ff2f592';
for($i=1; $i<8; $i++) {
$s = $答案[$i] . md5($i);
if(substr(md5($s), 16, 8) == $密文)
echo "答案号:$i 答案:{$答案[$i]}\n";
}答案号:2 答案:123456
不夸张! 它提供了一种方式或思路,你的密码和验证是可以存cookie的或可以发给任何人! 但解密必须要有key才行。 而且,这个加密解密过程计算量要少。 至少,同步登录时很有意义。 否则,你敢把密码存在用户端吗?就目前的密码泄露门而言,那也是很的意义的。 即使你获得了数据库,但不知道解密的key. 一样解不了密。