1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

PHP Share func mã hóa data theo thời gian

Thảo luận trong 'PHP' bắt đầu bởi Jkey C Phong, 10/10/15.

  1. Jkey C Phong

    Jkey C Phong Thành viên hiểu biết
    • 83/90

    Tham gia ngày:
    7/9/15
    Bài viết:
    96
    Đã được thích:
    2,461
    Nơi ở:
    Thành phố Hồ Chí Minh
    Chức năng: Mã hóa data có key và thay đổi theo thời gian.

    Code:
    PHP:
    <?php
    function encrypte($string,$key){
      $returnString = "";
      $charsArray = str_split("e7NjchMCEGgTpsx3mKXbVPiAqn8DLzWo_6.tvwJQ-R0OUrSak954fd2FYyuH~1lIBZ");
      $charsLength = count($charsArray);
      $stringArray = str_split($string);
      $keyArray = str_split(hash('sha256',$key));
      $randomKeyArray = array();
      while(count($randomKeyArray) < $charsLength){
      $randomKeyArray[] = $charsArray[rand(0, $charsLength-1)];
      }
      for ($a = 0; $a < count($stringArray); $a++){
      $numeric = ord($stringArray[$a]) + ord($randomKeyArray[$a%$charsLength]);
      $returnString .= $charsArray[floor($numeric/$charsLength)];
      $returnString .= $charsArray[$numeric%$charsLength];
      }
      $randomKeyEnc = '';
      for ($a = 0; $a < $charsLength; $a++){
      $numeric = ord($randomKeyArray[$a]) + ord($keyArray[$a%count($keyArray)]);
      $randomKeyEnc .= $charsArray[floor($numeric/$charsLength)];
      $randomKeyEnc .= $charsArray[$numeric%$charsLength];
      }
      return $randomKeyEnc.hash('sha256',$string).$returnString;
    }

    function decrypte($string,$key){
      $returnString = "";
      $charsArray = str_split("e7NjchMCEGgTpsx3mKXbVPiAqn8DLzWo_6.tvwJQ-R0OUrSak954fd2FYyuH~1lIBZ");
      $charsLength = count($charsArray);
      $keyArray = str_split(hash('sha256',$key));
      $stringArray = str_split(substr($string,($charsLength*2)+64));
      $sha256 = substr($string,($charsLength*2),64);
      $randomKeyArray = str_split(substr($string,0,$charsLength*2));
      $randomKeyDec = array();
       if(count($randomKeyArray) < 132) return false;
      for ($a = 0; $a < $charsLength*2; $a+=2){
      $numeric = array_search($randomKeyArray[$a],$charsArray) * $charsLength;
      $numeric += array_search($randomKeyArray[$a+1],$charsArray);
      $numeric -= ord($keyArray[floor($a/2)%count($keyArray)]);
      $randomKeyDec[] = chr($numeric);
      }
      for ($a = 0; $a < count($stringArray); $a+=2){
      $numeric = array_search($stringArray[$a],$charsArray) * $charsLength;
      $numeric += array_search($stringArray[$a+1],$charsArray);
      $numeric -= ord($randomKeyDec[floor($a/2)%$charsLength]);
      $returnString .= chr($numeric);
      }
      if(hash('sha256',$returnString) != $sha256){
      return false;
      }else{
      return $returnString;
      }
    }
    ?>
    Cách dùng:
    PHP:
    <?php
    $String = 'http://localhost/test-code/mahoa.php';
    $Key = 'Jkey C Phong - Học AutoIt';
    $MaHoa = encrypte($String,$Key);
    $GiaiMa= decrypte($MaHoa,$Key);
    Echo "Link đã được mã hóa: " . $MaHoa . '<br />';
    Echo "Link đã được giải mã: " . $GiaiMa;
    ?>
    Hình ảnh:
    [​IMG]

    Nguồn: Internet
     

Chia sẻ trang này

Đang tải...