Test.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. /**
  5. * 手机短信接口
  6. */
  7. class Test extends Api
  8. {
  9. protected $noNeedLogin = '*';
  10. protected $noNeedRight = '*';
  11. //解密
  12. public function index()
  13. {
  14. $request_data = input('request_data', 'PtqZJw7sYX3g07g\/451+u7DCgF8R4f6pzrdcwDUxV1pRJ+l7RUIJzB2CBwr9YINQqJeieC\/19\/3D6yzQNHHkthyu+jtUBQz7XMCd+hax2MsASeRKPICtsoVJDzDF9sy+ewRDbl2NC3zPJK026VnsrhpW6BSNO4J1oZIctjrhgONrJUk47yht0Vq+qLysqdcy+sdp5JYmp8C4OFnxT\/jhNIYbaoYQP8UBqKIdMm4q9wxKTor4SHMliBxDX3M1z+oXOxVbb+1rhztaSCHqKUgBe7N69Kl42ZM\/WXqDf72D5sMExZtSbqQG3NNEv2nzIXDa1G9pI76s8rKg9uTH+DG9+A==', 'trim'); //手机号和事件 json串 加密
  15. if (!$request_data) {
  16. $this->error('网络延迟1');
  17. }
  18. $request_data = base64_decode($request_data);
  19. $public_key_str = config('api_rsa.public_key');
  20. $public_key = "-----BEGIN PUBLIC KEY-----" .PHP_EOL.
  21. wordwrap($public_key_str, 64, PHP_EOL, true) .
  22. PHP_EOL."-----END PUBLIC KEY-----";
  23. $data = ''; //手机号和事件 json串 加密
  24. openssl_public_decrypt($request_data, $data, $public_key); // 使用私钥解密数据
  25. if (!$data) {
  26. $this->error('网络延迟2');
  27. }
  28. $data = json_decode($data, true);
  29. if (!$data) {
  30. $this->error('网络延迟3');
  31. }
  32. $this->success(1,$data);
  33. }
  34. //加密
  35. public function jiami(){
  36. $data = [
  37. 'id' => 180,
  38. 'name' => '恐龙扛狼',
  39. ];
  40. $json_data = json_encode($data);
  41. $private_key_str = config('api_rsa.private_key');
  42. $private_key = "-----BEGIN RSA PRIVATE KEY-----\n".
  43. wordwrap($private_key_str, 64, "\n", true).
  44. "\n-----END RSA PRIVATE KEY-----";
  45. $newdata = '';
  46. openssl_private_encrypt($json_data,$newdata,$private_key);
  47. $newdata = base64_encode($newdata);
  48. $this->success(1,$newdata);
  49. }
  50. //盐值与向量
  51. public function test(){
  52. $data = [
  53. 'id' => 180,
  54. 'name' => '恐龙扛狼',
  55. ];
  56. $json_data = json_encode($data);
  57. $method = 'AES-128-CBC';
  58. $key = '2911827315869D7F';
  59. $iv='1234567812345678';
  60. $request_data = '';
  61. $passcrypt = openssl_encrypt($json_data,$method,$key,OPENSSL_RAW_DATA,$iv);
  62. echo $request_data = base64_encode($passcrypt);
  63. $data = base64_decode($request_data);
  64. $data = openssl_decrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);
  65. $data = json_decode($data, true);
  66. dump($data);
  67. }
  68. }