How to decrypt string from a string containing digits (0-9) and # by using numbers mapping in PHP

1 Answer

0 votes
/*
numbers mapping:

a = 1
b = 2
...
j = 10#
...
z = 26#
*/

function DecryptString($s) {
	$size = strlen($s);;
	$result = "";
	$i = 0;
	$j = 0;
	
	while ($i < $size) {
		if ($i + 2 < $size && $s[$i + 2] == '#') {
            $num = ($s[$i] - '0') * 10 + ($s[$i + 1] - '0');
			$result[$j++] = chr($num + 96);
			$i = $i + 3;
		} else {
			$result[$j++] = chr(($s[$i] - '0') + 96);
			$i++;
		}
	}

	return $result;
}

$decrypted = DecryptString("12310#11#26#");

echo $decrypted;



/*
run:

abcjkz

*/

 



answered Feb 14, 2024 by avibootz
...