for循环中的MD5哈希值

for循环中的MD5哈希值

我有以下字符串:"VGxkTk1GcHFTWGRhUjBacFkycENhMWx0VFRWT1IxazBUMVJXYUZwSFNUQmlWR1JxVGtSVmVVOVZjR3RhYWtFOQ%3D%3D"

和一个 for 循环:

for(var i=0,k=3,l=643; (i<=20 && l>200) || k>8;i++,k--){
    console.count();
    }

如何获取md5?

函数显示(){ var cookie =“VGxkTk1GcHFTWGRh UjBacFkycENhMWx0 VFRWT1IxazBUMVJX YUZwSFNUQmlWR1Jx VGtSVmVVOVZjR3Rh YWtFOQ%3D%3D”; for(var i=0,k=3,l=643; (i<=20 && l>200) || k>8;i++,k--){ console.count(); } }

document.write("Here is your cookie: "+cookie+" It's md5, isn't!");

// To solve this  you must know about md5 hash
// Go to https://en.wikipedia.org/wiki/MD5 and read about it ;)

}

答案1

看起来字符串可以进行 base64 编码,然后进行 URL 编码...末尾的“%3D%3D”将是两个等号。

无论它的价值如何,将其传递给 Base64 解码器都会产生另一个看起来像有效的 Base64 编码的字符串。总共经过三次 Base64 解码器,您会得到一些看起来完全不同的东西......

echo "VGxkTk1GcHFTWGRhUjBacFkycENhMWx0VFRWT1IxazBUMVJXYUZwSFNUQmlWR1JxVGtSVmVVOVZjR3RhYWtFOQ==" \ 
  | base64 -d | base64 -d | base64 -d |od -t x1z

结果是:

0000000 35 63 34 66 32 30 64 61 62 72 30 64 62 63 39 34  >5c4f20dabr0dbc94<
0000020 66 38 39 35 61 64 62 34 6d 37 63 34 35 32 39 4a  >f895adb4m7c4529J<
0000040 64 66 30                                         >df0<

突然我们得到了所有小写字符和数字。尝试进行 Base64 解码会进一步导致一些无法打印的字符,然后来自 Base64 解码器的“无效输入”。所以也许这意味着什么,也许没有。

它比标准 MD5 校验和多了三个字符...并且这三个字符都在有效 md5sum 字符列表之外:“r”、“m”和“J”。删除这些,你会得到一个十六进制数字可以理论上是 MD5 校验和某物

相关内容