فهرست منبع

加密和解密

lizhen_gitee 1 سال پیش
والد
کامیت
9ff1d0b396
2فایلهای تغییر یافته به همراه102 افزوده شده و 0 حذف شده
  1. 91 0
      application/api/controller/Test.php
  2. 11 0
      application/config.php

+ 91 - 0
application/api/controller/Test.php

@@ -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);
+
+
+    }
+}

+ 11 - 0
application/config.php

@@ -428,4 +428,15 @@ return [
     'private_key' => 'MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXTDGisHRqtsI6g/MB8YHAX7Fmz8n7UgLK6x+MFK48/v690oD0yDrEJAjW4YRAeiEG/UiV05AsUpnCK4hJjRT2xgnNgtz9xYGKFLFNAsDKhjmMDhkKokZ+6NCqTiqqegxHQwCAvwL1vTo25+6ugFx8Aj56vd6lXb7VBkL+HkSAY78MUlp6m2XCfeL0MR4SmXIqA9zi9+SS7lXjmY8r4e5Wn2tUTL/kUEdnf9jtQx35rHGFcRkuQu5ghc8T3sdbqt5/isu1KrnGh9Qx3aqKGDMlYkwHQbi3QWFK0Jmnc6YVSC8+uoyPlxTPhkiaOARTQUqf7iNE0Ny8I3z2PTQ3K6XlAgMBAAECggEBAJF/BHyflFTLTB1ZpufHiC+n1sI4MNUvGOBrG/tqJ+Ugk3mYZcsAgwL8ZEPAu54F1J0UFil/OrZk+NhxZK7WrcJi0CqCHmMs/FX9cEPO0ffw/IZjSFGhnImO+pvMb9thY01kcadeCUqonsMOZ8oIRug6gDspPGNqs4nIa8RU9ys/RXie09GDcDwPjDpzE0M1pofNu+3TeGuu/nnII5PwCXkGx3rtachFcKxyherHKqF9Y81Xp9VQBXizq9vaBx83b6k1w+rDic/O8t/JW0NskrgUhKAlbOVPLN0AuT4RnXtGoUg+2MoZsNH3b12bzgPYVp5ygIUedwYIZ/bBFPjO4kECgYEA0/6E6CtKz6PAnkcXXTBuC56HS3ox48h82whyN2CojrPbBoWX1hKDnlvlJf0eMymr+BoR4Fe75ujWixO5pbRGGt6MTdCessG5GmT8nu2sz3hMHpJPLyaOuPWQ707jf9nU85P0gEv7Q1UKZKdXxZmsYfyo/X8CyGn6TbwRMiJvvm8CgYEAtrQ6MO1ooEK+y1y1nIclURuvPvQd6SMw5wfXODlejxuFBn+XtpVcYmRvJTQSX2+3qaoKtmnD8nCg4lIj0c6ncxouNPh4Dnqqcyj8nydnVb/GUR41XDkKc6QHGQfdcR1XsNnC/Tb9hULysFNHA4T6YeI1nm4i1+0Jehm0YHkQiusCgYBFgSo0MJV7lHW/rxFC9XDvEE/NeEfJJd+BtLg13dQFzYQfFEfe4P0UO47asK1pGt2OH4YC5uDtaSOGP7ZbVMqzXonjrWWKuCcnNzr4JHbHIuraDyA1FlAu5hxZyaSfM101ayn7sm2z+rrIm3EUkTjKe5swWacg7FYrjGCa7l1yswKBgH12Te+DWDGVJAfqZhxTAeEsra8BW/jY3aAI1lYZr0F+mF7aB4iuEH7QkTJvC57VzL2Js0mIX7KAfTptRYOx8XMtK0XcyjTHL31dS/zOxjswMjNKF0J5OSAoJ2ec6wfeKnWbVDcmJ/n2+0jyJvXXv0iwWjmtT+gPMk7Sj/cfq6h5AoGAM65IF5cC2LpmTyYhdBnxb8CFV4dwEk12LZrCQTJrzCdGsPDGDdb8+8wVvkUjBS90Iy3Loll48ogvxBUuVku50O60URo+sEQMy72fXHFyE/773cRf+8h69zLXakMUbi7h7hgY6G24mbyWQRdUBcrasIZMk4e+WvtYUndOruEWRIs=',
     'ali_public_key' => '/addons/epay/certs/alipayCertPublicKey.crt',
     'pay_test' => 1,//支付测试:0=正常,1=支付0.01
+
+    //api接口加密
+    'api_rsa' => [
+        'private_key' => 'MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDnVS3lFhixgo7D4XHeoPgdALAeNHEE4cSZMARBGRK4CsRhmCrzcjibdfuzasyC2EzQXXkxKpknxet+sPd8hFAYMwyn1XxS359o7UgPU26DeZonb+B5llIp3mB1yp70XC5Y4Yw+oiLuqzb4hN0JP1gEcOP0j8evjNTTp+Mupx0xjbzG828oU1Zj/1Hwcmbmeg5G8jD5lA+DXOSIYIbgzn1FpHAGvVjtVSyHurPrqFhpcSs8OYyldbnHLHPoyeaXrP2d1sdRgEeGtIjtxgv5DO3T6idruRyUp0qnV915CTlMM7uh5c9Dya5dTGotiyokpHMWdD3FOZbjTgdOzXKRyKKTAgMBAAECggEANCgISPZKavs8pP1XZxJz3lYhXy4DrU4ZvVAOJX85sTT8QeTFCk5eZO6c6T7TDU0nRHNOt78a+NSu28magwBx7oLT/6MqfKTelBGrhYkSCaKJFwsqWT+DFt2EcgpU/FMsP+3aaOS1a4o+wplyHHujpJyvSJyCMRpXgcEAf6w98MXOW9I6w9M/mQcSuCDa17v+Pm9bitwh2gbI6koQ+q58KWfvXkHFQt/Guc9BoG0l4VBDHGsXg/wT2gOdpp3x3IIY66+40tYOxTb7mz3AOcBSUEoihZzSZieCpSYWVy+hZa8j/FcQ5HlfX13n0Xt6tMDf5cDAHNwhmruvbiNXcZ2rwQKBgQD5/gb7FVI/BhAGg486YPGRE8AijCI+at0gbV2/q0snchJUc1dkfV4lcd9mI6D2dtZxt1xBQwIXcgztfeX5vVaK9DrqbvkcOiYjtC3qJ1KjCaUW0tLiXn1zcPZf2XARhJUT69EdQpAbyoXev/++fmDvkQI3Vkt9h6/oaod0O7K8jwKBgQDs5FtcRKiaaVK/LDyFfp+IPwSy6TkL5TR0HOZO0bpheJN690+3phJOBdBLbjw4QTl8us/roDTZh5V7beCXJ1UbPgqqzgi8OKLk+oGeSyJzh2LQ2B0dMSQBZ9l16K1hn7FWbfRPZYjJcoc3lWe6GEWmnJS2gC6TfKb0K5sjQeZDvQKBgQCo1KoaP9f/wDRqccb1Aiuictg7fLBTvw//qly56REkXqGKbysCLri6SSE6da1rRe6lddPUL1DmTJv2eCQseXZM+YwgbznFmm/PhQvNKylf+k+IDnFld7L5l7yMFujcq9GSVpwvSpjQbAHk4X3yRJ9qq1/3x0vMRyrBp9A662ZWeQKBgQCuT9pqKptmA9o/ke12zZXWS4jJnZO8jQvr5NgTZ4Ad+PuMoC6olCsj/mMnHhZxzozemxgj6d75sirsiA2bK/YT9bMjvDfxSDuVAkAemmrfV9/+jQffUymLXz9E49Gw5DE5x+7d/XiJwxx8ahPJe9LEprNHF0sue6reQLgHWZZ2gQKBgGcM70CcpaDCwML/lxs13L/Z6SRqrQ2J36OzneFTCd1dutCsxWwH//YSDfjawg78HIr/oYrwmaEEnpJUo/JyDLj9C1JgRZ/vufOHIaqZsU/5aArwqXrNSiOqvWxkFBnL1olaRXotd8P0+9s4XckEKYVFu5nc7P/hDamKzVBK2eeG',
+        'public_key'  => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA51Ut5RYYsYKOw+Fx3qD4HQCwHjRxBOHEmTAEQRkSuArEYZgq83I4m3X7s2rMgthM0F15MSqZJ8XrfrD3fIRQGDMMp9V8Ut+faO1ID1Nug3maJ2/geZZSKd5gdcqe9FwuWOGMPqIi7qs2+ITdCT9YBHDj9I/Hr4zU06fjLqcdMY28xvNvKFNWY/9R8HJm5noORvIw+ZQPg1zkiGCG4M59RaRwBr1Y7VUsh7qz66hYaXErPDmMpXW5xyxz6Mnml6z9ndbHUYBHhrSI7cYL+Qzt0+ona7kclKdKp1fdeQk5TDO7oeXPQ8muXUxqLYsqJKRzFnQ9xTmW404HTs1ykciikwIDAQAB',
+    ],
+    //app接口加密
+    'app_rsa' => [
+        'private_key' => 'MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCc/+KR4S8uyFG/uexFNSkybdxlw/2dW18WvJ+FFoXycz6DIJ/b/47PvqbYUaONieRWuyosDealwCqHfy0mIBFh+tzWDK7tTT/78iYoJvj/zvTey7/KIdAA6OvS7M+bCgJTrpW3P1a4a0peXhAMui7o9Hn8sHSIBDse34pl06PKSrX+oS9sQYAT8M4GfVMg9MbLkYLnFoqRV1jQMUf7y/ctrj4xlPuSx3O39X4IysRVZSUuD4Jnc5b9rJ0Q2mbESe2sPCf05hopNRQJIaleTozYwNzo4NlNqokzlq61luwTrwVZwb/HBjW/4FQeuB/jEV8SAr7Kn+DNH4AJP68uRlUHAgMBAAECggEAGFu7E1cUsvVxeYWnGrW8xo40+7UEzD0465YoScXM0mj+8elF5CQqTCEQUc+YyIT0YGB5kow1lNHTx2H750ZibAk36h3dpgOuQbC4KtKhH09Evqxt/TZxxzJcJEWJkExlQAZ+RAgXtFUxHKMLam4YiRwlMQdPjSra4VddaZ8EcoYV+8v9mckmPA57DccF/FyGMgUCDwTbScvnRnd1ZGnqChiH7xgLRfLg8uskt87iHfidfplfeeDq0pZ39PTd2hse3Vm06avsRePXdPvwUOsssN3hHG6TBc1/BPxjqfqCGBNCrmYe5rfaJ28O9wWgQe33sOaBR3rKQmUV67yKgFBYgQKBgQDpFYtq2rXUm/8NjU0rL8+bMqss/e1IBR9/F6KXoNJA8orr8n4AccMsltfK7sia8c9ZM5PSBCZt5p/dBW9O8Stip5V4dG/cooQHSu8oq+RhNBi26vfJdsdzRLMyZ4w8Yk9Hh4puEF9X3nZzgzMzDIAc6l+V/6hx60tgz7gKAFcMDwKBgQCsb2FDhEiZAjLU6R+Ljsp3+H3mOY21Y41s5YFMWv4uk7JGkuEkq9bJGShiQmcF0UnGj1u2WTh/aMrSsKjbbPoP8OXfjiMbcO+OO5gVn2TK3JX4nXCg80YPoHOu5sLhLRwymcyi9rvKw5LOICMOFUCmsKVR7rdWyHd2atCaLkQPiQKBgQC4BZiDDpYMe/UMoAjTFfZU09YtuXVDLThGwURPbltRh6yCyHsOosKzS4yn3YpoOo24IW6Nm1Uz46dHeuj8bJASXbk21scSbQTMNS9I7x1qWRVCJZTobGzf5teL7hDcA8oP8UUrzKVZ3Husi2M65J2pNqms5aH5/wkOMDFfRBF1pQKBgHiDQ1v3mPFvCu2onEZiHnkob3023iZWlGH2KJ6fvaP5z4/pWXbSrkNP1NyPggcb1U7zpGpWAtlw+Me1dd4dVMtNVqseYMTt8k7asZjzFHN/JUVja3Lhcya6wf8MAklzyJBI0y9V97tnYjOzXCych9m3/WK8zt/VLUDSuEX5bdHZAoGAG5h0cPhVaPCOon41M+LMiPD5a541MTK5YJnEXwsMSHP0xpwqW3JUUqE6iBnvuQiJ4g7WX2YvtdJbps1auWo46icvF5kZ/3i3oVfY/ZyouF3K71rz+/KOO2NDGCY9IWCHNvIoS60g88FFmKGaXuTPik92HdfEzJ4/AqdEw2EIVBw=',
+        'public_key'  => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnP/ikeEvLshRv7nsRTUpMm3cZcP9nVtfFryfhRaF8nM+gyCf2/+Oz76m2FGjjYnkVrsqLA3mpcAqh38tJiARYfrc1gyu7U0/+/ImKCb4/8703su/yiHQAOjr0uzPmwoCU66Vtz9WuGtKXl4QDLou6PR5/LB0iAQ7Ht+KZdOjykq1/qEvbEGAE/DOBn1TIPTGy5GC5xaKkVdY0DFH+8v3La4+MZT7ksdzt/V+CMrEVWUlLg+CZ3OW/aydENpmxEntrDwn9OYaKTUUCSGpXk6M2MDc6ODZTaqJM5autZbsE68FWcG/xwY1v+BUHrgf4xFfEgK+yp/gzR+ACT+vLkZVBwIDAQAB'
+    ],
 ];