Exemple #1
0
 /**
  * @param string $string
  * @return string
  */
 public function deCrypt($string = '')
 {
     $appKey = md5($this->appKey);
     $salt = $this->user->getSalt();
     $letter = -1;
     $char = -1;
     $new_str = '';
     $new_salt = '';
     $str_to_decrypt = base64_decode($string);
     $strlen = strlen($str_to_decrypt);
     $saltLen = strlen($salt);
     for ($i = 0; $i < $saltLen; $i++) {
         $char++;
         if ($char > 30) {
             $char = 0;
         }
         $newSalt = ord($salt[$i]) + ord($appKey[$char]);
         if ($newSalt > 255) {
             $newSalt -= 256;
         }
         $new_salt .= chr($newSalt);
     }
     for ($i = 0; $i < $strlen; $i++) {
         $letter++;
         if ($letter > 30) {
             $letter = 0;
         }
         $neword = ord($str_to_decrypt[$i]) - ord($new_salt[$letter]);
         if ($neword < 1) {
             $neword += 256;
         }
         $new_str .= chr($neword);
     }
     return $new_str;
 }