Skip to content

Instantly share code, notes, and snippets.

@phpfiddle
Created January 20, 2020 09:47
Show Gist options
  • Save phpfiddle/47f6e1023240e45bc816dd3017b77ba4 to your computer and use it in GitHub Desktop.
Save phpfiddle/47f6e1023240e45bc816dd3017b77ba4 to your computer and use it in GitHub Desktop.
[ Posted by Hadwin ] test decode func
<?php
function transformCode($number, $reverse = false)
{
$number = (string)$number;
$len = mb_strlen($number);
$codeMap = ['HwBm', 'AzFk', 'XdIp', 'KjJq', 'PlLs', 'QtMg', 'ErNe', 'DfOh', 'VbTv', 'GyUx', 'C' => 'CCCC'];
$reverseCodeMap = ['H' => 0, 'w' => 0, 'B' => 0, 'm' => 0,
'A' => 1, 'z' => 1, 'F' => 1, 'k' => 1,
'X' => 2, 'd' => 2, 'I' => 2, 'p' => 2,
'K' => 3, 'j' => 3, 'J' => 3, 'q' => 3,
'P' => 4, 'l' => 4, 'L' => 4, 's' => 4,
'Q' => 5, 't' => 5, 'M' => 5, 'g' => 5,
'E' => 6, 'r' => 6, 'N' => 6, 'e' => 6,
'D' => 7, 'f' => 7, 'O' => 7, 'h' => 7,
'V' => 8, 'b' => 8, 'T' => 8, 'v' => 8,
'G' => 9, 'y' => 9, 'U' => 9, 'x' => 9,
'C' => 'C'];
$codded = '';
if(!$reverse)
{
for($i = 0; $i < $len; $i++)
$codded .= $codeMap[$number[$i]][random_int(0,3)];
}
else
{
for($i = 0; $i < $len; $i++)
$codded .= $reverseCodeMap[$number[$i]] ?? intval($number[$i]);
}
return $codded;
}
echo "AffiliateId: " . explode('C', transformCode('OCsJ', true))[0];
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment