3v4l.org

run code in 300+ PHP versions simultaneously
<?php function evalCrossTotal($strMD5) { $intTotal = 0; $arrMD5Chars = str_split($strMD5, 1); foreach ($arrMD5Chars as $value) { $intTotal += '0x0'.$value; } return $intTotal; } function encryptString($strString, $strPassword) { // $strString is the content of the entire file with serials $strPasswordMD5 = md5($strPassword); $intMD5Total = evalCrossTotal($strPasswordMD5); $arrEncryptedValues = array(); $intStrlen = strlen($strString); for ($i=0; $i<$intStrlen; $i++) { $arrEncryptedValues[] = ord(substr($strString, $i, 1)) + ('0x0' . substr($strPasswordMD5, $i%32, 1)) - $intMD5Total; $intMD5Total = evalCrossTotal(substr(md5(substr($strString,0,$i+1)), 0, 16) . substr(md5($intMD5Total), 0, 16)); } return implode(' ' , $arrEncryptedValues); } encryptString("woord", "woord"); ?>

preferences:
51.13 ms | 402 KiB | 5 Q