Advertisement
Guest User

Untitled

a guest
Dec 27th, 2014
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.94 KB | None | 0 0
  1. <?php
  2.  
  3. class SignedParam {
  4.     private static $key = null;
  5.    
  6.     private $param;
  7.     private $sign;
  8.    
  9.     public static setKey($key) {
  10.         self::$key = $key;
  11.     }
  12.    
  13.     public static function makeSign($param) {
  14.         return hash_hmac('sha1', $param, self::$key);
  15.     }
  16.    
  17.     private function validate() {
  18.         $validSign = $this->generateSignature();
  19.        
  20.         if ($validSign === FALSE) {
  21.             return false;
  22.         }
  23.        
  24.         if ($validSign !== $this->sign) {
  25.             return false;
  26.         }
  27.        
  28.         return true;
  29.     }
  30.    
  31.     private function __construct($param, $signature) {
  32.         $this->param = $param;
  33.         $this->signature = $signature;
  34.     }
  35.    
  36.     public function get() {
  37.         $this->validate();
  38.         return $this->param;
  39.     }
  40. }
  41.  
  42. // sample out
  43. $sign = SignedParam::makeSign($out);
  44.  
  45. // sample in
  46. $in = new SignedParam($sign, $param)->get();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement