|
@@ -0,0 +1,91 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace app\api\controller;
|
|
|
+
|
|
|
+use app\common\controller\Api;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 手机短信接口
|
|
|
+ */
|
|
|
+class Test extends Api
|
|
|
+{
|
|
|
+
|
|
|
+ protected $noNeedLogin = '*';
|
|
|
+ protected $noNeedRight = '*';
|
|
|
+
|
|
|
+ //解密
|
|
|
+ public function index()
|
|
|
+ {
|
|
|
+ $request_data = input('request_data', 'PtqZJw7sYX3g07g\/451+u7DCgF8R4f6pzrdcwDUxV1pRJ+l7RUIJzB2CBwr9YINQqJeieC\/19\/3D6yzQNHHkthyu+jtUBQz7XMCd+hax2MsASeRKPICtsoVJDzDF9sy+ewRDbl2NC3zPJK026VnsrhpW6BSNO4J1oZIctjrhgONrJUk47yht0Vq+qLysqdcy+sdp5JYmp8C4OFnxT\/jhNIYbaoYQP8UBqKIdMm4q9wxKTor4SHMliBxDX3M1z+oXOxVbb+1rhztaSCHqKUgBe7N69Kl42ZM\/WXqDf72D5sMExZtSbqQG3NNEv2nzIXDa1G9pI76s8rKg9uTH+DG9+A==', 'trim'); //手机号和事件 json串 加密
|
|
|
+ if (!$request_data) {
|
|
|
+ $this->error('网络延迟1');
|
|
|
+ }
|
|
|
+ $request_data = base64_decode($request_data);
|
|
|
+
|
|
|
+
|
|
|
+ $public_key_str = config('api_rsa.public_key');
|
|
|
+ $public_key = "-----BEGIN PUBLIC KEY-----" .PHP_EOL.
|
|
|
+ wordwrap($public_key_str, 64, PHP_EOL, true) .
|
|
|
+ PHP_EOL."-----END PUBLIC KEY-----";
|
|
|
+
|
|
|
+ $data = ''; //手机号和事件 json串 加密
|
|
|
+ openssl_public_decrypt($request_data, $data, $public_key); // 使用私钥解密数据
|
|
|
+ if (!$data) {
|
|
|
+ $this->error('网络延迟2');
|
|
|
+ }
|
|
|
+ $data = json_decode($data, true);
|
|
|
+ if (!$data) {
|
|
|
+ $this->error('网络延迟3');
|
|
|
+ }
|
|
|
+
|
|
|
+ $this->success(1,$data);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //加密
|
|
|
+ public function jiami(){
|
|
|
+ $data = [
|
|
|
+ 'id' => 180,
|
|
|
+ 'name' => '恐龙扛狼',
|
|
|
+ ];
|
|
|
+ $json_data = json_encode($data);
|
|
|
+
|
|
|
+ $private_key_str = config('api_rsa.private_key');
|
|
|
+ $private_key = "-----BEGIN RSA PRIVATE KEY-----\n".
|
|
|
+ wordwrap($private_key_str, 64, "\n", true).
|
|
|
+ "\n-----END RSA PRIVATE KEY-----";
|
|
|
+
|
|
|
+
|
|
|
+ $newdata = '';
|
|
|
+ openssl_private_encrypt($json_data,$newdata,$private_key);
|
|
|
+ $newdata = base64_encode($newdata);
|
|
|
+
|
|
|
+ $this->success(1,$newdata);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //盐值与向量
|
|
|
+ public function test(){
|
|
|
+ $data = [
|
|
|
+ 'id' => 180,
|
|
|
+ 'name' => '恐龙扛狼',
|
|
|
+ ];
|
|
|
+ $json_data = json_encode($data);
|
|
|
+
|
|
|
+ $method = 'AES-128-CBC';
|
|
|
+ $key = '2911827315869D7F';
|
|
|
+ $iv='1234567812345678';
|
|
|
+
|
|
|
+ $request_data = '';
|
|
|
+
|
|
|
+ $passcrypt = openssl_encrypt($json_data,$method,$key,OPENSSL_RAW_DATA,$iv);
|
|
|
+ echo $request_data = base64_encode($passcrypt);
|
|
|
+
|
|
|
+ $data = base64_decode($request_data);
|
|
|
+ $data = openssl_decrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);
|
|
|
+ $data = json_decode($data, true);
|
|
|
+ dump($data);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|