44 lines
1.1 KiB
PHP
44 lines
1.1 KiB
PHP
<?php
|
|
namespace ThirdPay;
|
|
|
|
class Tools
|
|
{
|
|
|
|
/****加密方法******/
|
|
public static function encryptData($params,$privateKey) {
|
|
ksort($params);
|
|
$privateWorker = new KeyWorker($privateKey ,KeyFormat::ASN);
|
|
$data = $privateWorker->encrypt(json_encode($params));
|
|
return $data;
|
|
}
|
|
|
|
/****解密方法******/
|
|
public static function decryptData($params,$publicKey)
|
|
{
|
|
$publicWorker = new KeyWorker($publicKey ,KeyFormat::ASN);
|
|
$data = $publicWorker->decrypt($params);
|
|
return $data;
|
|
}
|
|
|
|
public static function get_client_ip(){
|
|
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')) {
|
|
|
|
$ip = getenv('HTTP_CLIENT_IP');
|
|
|
|
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknown')) {
|
|
|
|
$ip = getenv('HTTP_X_FORWARDED_FOR');
|
|
|
|
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'),'unknown')) {
|
|
|
|
$ip = getenv('REMOTE_ADDR');
|
|
|
|
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
|
|
|
|
$ip = $_SERVER['REMOTE_ADDR'];
|
|
|
|
}
|
|
|
|
return preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : '';
|
|
}
|
|
} |