Skip to content

Instantly share code, notes, and snippets.

@vzool
Forked from LogIN-/encode_decode.php
Created January 29, 2023 18:29
Show Gist options
  • Save vzool/51394e6a5ab81a27cf9e012024d4f272 to your computer and use it in GitHub Desktop.
Save vzool/51394e6a5ab81a27cf9e012024d4f272 to your computer and use it in GitHub Desktop.
PHP custom encode decode functions
<?php
// Updated code from comments
function encode($value) {
if (!$value) {
return false;
}
$key = sha1('EnCRypT10nK#Y!RiSRNn');
$strLen = strlen($value);
$keyLen = strlen($key);
$j = 0;
$crypttext = '';
for ($i = 0; $i < $strLen; $i++) {
$ordStr = ord(substr($value, $i, 1));
if ($j == $keyLen) {
$j = 0;
}
$ordKey = ord(substr($key, $j, 1));
$j++;
$crypttext .= strrev(base_convert(dechex($ordStr + $ordKey), 16, 36));
}
return $crypttext;
}
function decode($value) {
if (!$value) {
return false;
}
$key = sha1('EnCRypT10nK#Y!RiSRNn');
$strLen = strlen($value);
$keyLen = strlen($key);
$j = 0;
$decrypttext = '';
for ($i = 0; $i < $strLen; $i += 2) {
$ordStr = hexdec(base_convert(strrev(substr($value, $i, 2)), 36, 16));
if ($j == $keyLen) {
$j = 0;
}
$ordKey = ord(substr($key, $j, 1));
$j++;
$decrypttext .= chr($ordStr - $ordKey);
}
return $decrypttext;
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment