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を取得するには?

function display() { 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」は2つの等号になります。

それは価値があるため、これをBase64デコーダに渡すと、有効なBase64エンコーディングのように見える別の文字列が生成されます。 Base64デコーダを計3回踏むと全く違う様子が得られます。

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チェックサムより3つの文字があります。3つの文字はすべて有効なmd5sum文字のリストの外側にあります(「r」、「m」、および「J」)。これを削除すると、16進数が得られます。できる理論的にはMD5チェックサムです。

関連情報