common.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. header("Content-Type:text/html;charset=utf-8");
  3. function ConvertPublicKey($public_key){
  4. $public_key_string = "";
  5. $count=0;
  6. for($i=0;$i<strlen($public_key);$i++){
  7. if($count<64){
  8. $public_key_string.=$public_key[$i];
  9. $count++;
  10. }else{
  11. $public_key_string.=$public_key[$i]."\r\n";
  12. $count=0;
  13. }
  14. }
  15. $public_key_header = "-----BEGIN PUBLIC KEY-----\r\n";
  16. $public_key_footer = "\r\n-----END PUBLIC KEY-----";
  17. $public_key_string = $public_key_header.$public_key_string.$public_key_footer;
  18. return $public_key_string;
  19. }
  20. function Verify($sourcestr, $sign_dataature, $publickey){
  21. $pkeyid = openssl_get_publickey($publickey);
  22. $verify = openssl_verify($sourcestr, $sign_dataature, $pkeyid);
  23. openssl_free_key($pkeyid);
  24. return $verify;
  25. }
  26. function PublickeyDecodeing($crypttext, $publickey){
  27. $pubkeyid = openssl_get_publickey($publickey);
  28. if (openssl_public_decrypt($crypttext, $sourcestr, $pubkeyid, OPENSSL_PKCS1_PADDING)){
  29. return $sourcestr;
  30. }
  31. return FALSE;
  32. }
  33. function ReturnResult($text){
  34. echo $text;
  35. exit();
  36. }
  37. function PingErrorRecorder($recorderData,$is_out=0){
  38. $ping_error_fp=fopen("Ping_Error.txt","a+");
  39. $recorderData['dateTime']=date("Y-m-d H:i:s",time());
  40. $recorderStr="------------------------------------------\r\n";
  41. if(is_array($recorderData)){
  42. foreach($recorderData as $k => $v){
  43. if(!empty($v)){
  44. $temp=@iconv("utf-8","gb2312//ignore",$v);
  45. $recorderStr.="{$k}:{$temp}\r\n";
  46. }
  47. }
  48. }else{
  49. if(!empty($recorderData)){
  50. $temp=@iconv("utf-8","gb2312//ignore",$recorderData);
  51. $recorderStr.=$temp."\r\n";
  52. }
  53. }
  54. $str=<<<EOT
  55. {$recorderStr}
  56. EOT;
  57. fwrite($ping_error_fp,$str);
  58. fclose($ping_error_fp);
  59. if(!empty($is_out)){
  60. exit();
  61. }
  62. }
  63. function sendCurlGet($url,$get_data=array()){
  64. if(!empty($get_data)){
  65. $get_data_str=http_build_query($get_data);
  66. $url=preg_match("/\?/",$url) ? $url."&".$get_data_str : $url."?".$get_data_str;
  67. }
  68. $ch=curl_init();
  69. curl_setopt($ch,CURLOPT_URL,$url);
  70. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  71. curl_setopt($ch,CURLOPT_HEADER,0);
  72. $output=curl_exec($ch);
  73. $http_state=curl_getinfo($ch);
  74. curl_close($ch);
  75. return array($output,$http_state);
  76. }
  77. function http_build_query_noencode($queryArr){
  78. if(empty($queryArr)){
  79. return "";
  80. }
  81. $returnArr=array();
  82. foreach($queryArr as $key => $value){
  83. $returnArr[]=$key."=".$value;
  84. }
  85. return implode("&",$returnArr);
  86. }