3v4l.org

run code in 300+ PHP versions simultaneously
<?php /* $string = 'This is my encrypted string!'; $key = 'KEY'; $split = str_split($string, 3); foreach($split as $chars) echo bin2hex($chars ^ $key); */ function hamdist($a, $b) { $a = str_split($a); $b = str_split($b); $len = count($a); $dist = 0; for($i = 0; $i < $len; $i++) { $bits['a'] = str_split(sprintf('%08d', decbin(ord($a[$i])))); $bits['b'] = str_split(sprintf('%08d', decbin(ord($b[$i])))); for($x = 0, $len2 = count($bits['a']); $x < $len2; $x++) if($bits['a'][$x] != $bits['b'][$x]) $dist++; } return $dist; } $enc = hex2bin('1f2d3038653038653432653c25262b32352d2e217938312b222b3e6a'); for($keysize = 2; $keysize <= 15; $keysize++) { $blockA = substr($enc, 0, $keysize); $blockB = substr($enc, $keysize, $keysize); printf("(Keysize = %d)\t%.2f\n", $keysize, (hamdist($blockA, $blockB) / $keysize)); }

preferences:
40.74 ms | 402 KiB | 5 Q