<?php
$serect = '范英刚' ;
$appkey = '1248995523' ;
$url = "127.0.0.1?" ;
$params = array ( ) ;
$params [ 'appkey' ] = $appkey ;
$params [ 'name' ] = 'shiyi' ;
$params [ 'password' ] = 'fyg666666' ;
$params [ 'time' ] = time ( ) ;
$queryString = http_build_query ( $params ) ;
$sign = getSign ( $params , $serect ) ;
$queryString .= "&sign=" . $sign ;
$public = '-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqqbyZuhT9dm84krq2lWt
76P82FQjBuGCNJtY7tgmdzW3iM2ixvH+fid0K4jx/0SbaBgH5dZiWYeaHthHuw1Z
CNNSrF/sT2Sc7gfUnroWZIJ8tbTEfNC+GUz/OCVoug2cP6pfWH/dttWfxBflcJ6o
uMv8ZygdfFeWKbwd5fucOAh8hg1EZlk3JVC5YcusHJalpFMYspBByGvW3hbXcqUK
jURNTgUjE3OpQ6N97EKJBC1cygJ0/8ifjQsCGYbxx1L4E//JkB4KVXGcyU6UNt9g
AYNd8L53svAG/DIzlxbbkW3veKc/jbOfY2HdcLOZN4BW9pQ9jlvlUshV2unA4UVK
DMG5bHJpU1z0/hv0QDAQwdihV88iLoYjEsW4jGJEVEtJuPRNsIK9GR2gbp4tAGGI
2ZbrW/W6f/fXRQffHY8MA5+s0mrsq+a11IXVCFytYCsi10kNRhdUny9MamUkNCAB
mfhR1jadJbpqOMyjAob0sezCa1E24KvCp+FXBG3TwTy2xoZ+SRpzrwWrPsAkZVSu
H5wCS3/4kEdvcgpEdfdok5aGIqKdgeCr9BsorqQXsB0SWY3Z1dnz9UlVqzFBZWs7
eXq02ukI730PN0MDb3wNBwBQ9kD0/1rVCYURLaJMTLpBGXei9jYNdLut0k84zBc/
80KedIhDjUQN9rtiIqLnwqsCAwEAAQ==
-----END PUBLIC KEY-----' ;
$encrypt = "" ;
openssl_public_encrypt ( $queryString , $encrypt , $public ) ;
$encrypt = urlencode ( $encrypt ) ;
$url .= "query=" . $encrypt ;
var_dump ( $url ) ;
function getSign ( $params , $serect )
{ ksort ( $params ) ; $query = http_build_query ( $params ) . $serect ; return md5 ( $query ) ;
}
<?php
$private = '-----BEGIN PRIVATE KEY-----
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
UghFfeR6cgvGR+M6+xYoyWkMi8YC
-----END PRIVATE KEY-----' ;
$query = $argv [ 1 ] ;
$query = urldecode ( $query ) ;
$decrypt = '' ;
openssl_private_decrypt ( $query , $decrypt , $private ) ;
$params = [ ] ;
parse_str ( $decrypt , $params ) ;
$sign = getSign ( $params ) ;
if ( $sign != $params [ 'sign' ] ) { throw new Exception ( '签名错误' , 2001 ) ;
}
if ( time ( ) - $params [ 'time' ] > 600 ) { throw new Exception ( '请求超时' , 4001 ) ;
} echo "success" ;
function getSign ( $params )
{ $token = [ '1248995523' => '范英刚' , ] ; unset ( $params [ 'sign' ] ) ; ksort ( $params ) ; $query = http_build_query ( $params ) . $token [ $params [ 'appkey' ] ] ; return md5 ( $query ) ;
}