Advertisement
kotvalera83

decode encode php

Mar 24th, 2014
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.40 KB | None | 0 0
  1. function encode($string, $key = NULL) {
  2.         if(!$key)
  3.             $key = ENCRYPTION_KEY;
  4.         $key = sha1($key);
  5.         $strLen = strlen($string);
  6.         $keyLen = strlen($key);
  7.         $j = 0;
  8.         $hash = "";
  9.         for ($i = 0; $i < $strLen; $i++) {
  10.             $ordStr = ord(substr($string, $i, 1));
  11.             if ($j == $keyLen) {
  12.                 $j = 0;
  13.             }
  14.             $ordKey = ord(substr($key, $j, 1));
  15.             $j++;
  16.             $hash .= strrev(base_convert(dechex($ordStr + $ordKey), 16, 36));
  17.         }
  18.         $hash = $hash . "-" . md5($string);
  19.  
  20.         return $hash;
  21.     }
  22.  
  23.     function decode($string, $key = NULL) {
  24.       $hash = "";
  25.       if(!empty($string)) {
  26.         $strings = explode("-", $string);
  27.         $string = $strings[0];
  28.         if(!$key)
  29.             $key = ENCRYPTION_KEY;
  30.         $key = sha1($key);
  31.         $strLen = strlen($string);
  32.         $keyLen = strlen($key);
  33.         $j = 0;
  34.         $hash = "";
  35.         for ($i = 0; $i < $strLen; $i+=2) {
  36.             $ordStr = hexdec(base_convert(strrev(substr($string, $i, 2)), 36, 16));
  37.             if ($j == $keyLen) {
  38.                 $j = 0;
  39.             }
  40.             $ordKey = ord(substr($key, $j, 1));
  41.             $j++;
  42.             $hash .= chr($ordStr - $ordKey);
  43.         }
  44.  
  45.         //hash check
  46.         if (md5($hash) != $strings[1])
  47.             return "-";
  48.       }
  49.       return $hash;
  50.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement