{"id":131755,"date":"2020-07-04T13:56:15","date_gmt":"2020-07-04T05:56:15","guid":{"rendered":"http:\/\/4563.org\/?p=131755"},"modified":"2020-07-04T13:56:15","modified_gmt":"2020-07-04T05:56:15","slug":"php-%e4%b8%8e-java%e5%af%b9%e6%8e%a5%e9%80%9a%e7%94%a8%e5%8a%a0%e8%a7%a3%e5%af%86%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=131755","title":{"rendered":"php \u4e0e java\u5bf9\u63a5\u901a\u7528\u52a0\u89e3\u5bc6\u65b9\u6cd5"},"content":{"rendered":"<p>\u672c\u6587\u6574\u7406\u4e86php\u548cjava\u94fe\u6761\u8fc7\u7a0b\u4e2d\uff0c\u53cc\u65b9\u901a\u7528\u7684\u52a0\u5bc6\u548c\u89e3\u5bc6\u65b9\u6cd5\u3002<\/p>\n<h3><a href=\"https:\/\/www.studytime.xin\/article\/#java-\u52a0\u89e3\u5bc6\u65b9\u6cd5\" title=\"java \u52a0\u89e3\u5bc6\u65b9\u6cd5\"><\/a>java \u52a0\u89e3\u5bc6\u65b9\u6cd5<\/h3>\n<figure>\n<table>\n<tr>\n<td>\n<pre><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><span>7<\/span><br><span>8<\/span><br><span>9<\/span><br><span>10<\/span><br><span>11<\/span><br><span>12<\/span><br><span>13<\/span><br><span>14<\/span><br><span>15<\/span><br><span>16<\/span><br><span>17<\/span><br><span>18<\/span><br><span>19<\/span><br><span>20<\/span><br><span>21<\/span><br><span>22<\/span><br><span>23<\/span><br><span>24<\/span><br><span>25<\/span><br><span>26<\/span><br><span>27<\/span><br><span>28<\/span><br><span>29<\/span><br><span>30<\/span><br><span>31<\/span><br><span>32<\/span><br><span>33<\/span><br><span>34<\/span><br><span>35<\/span><br><span>36<\/span><br><span>37<\/span><br><span>38<\/span><br><span>39<\/span><br><span>40<\/span><br><span>41<\/span><br><span>42<\/span><br><span>43<\/span><br><span>44<\/span><br><span>45<\/span><br><span>46<\/span><br><span>47<\/span><br><span>48<\/span><br><span>49<\/span><br><span>50<\/span><br><span>51<\/span><br><span>52<\/span><br><span>53<\/span><br><span>54<\/span><br><span>55<\/span><br><span>56<\/span><br><span>57<\/span><br><span>58<\/span><br><span>59<\/span><br><span>60<\/span><br><span>61<\/span><br><span>62<\/span><br><span>63<\/span><br><span>64<\/span><br><span>65<\/span><br><span>66<\/span><br><span>67<\/span><br><span>68<\/span><br><span>69<\/span><br><span>70<\/span><br><span>71<\/span><br><span>72<\/span><br><span>73<\/span><br><span>74<\/span><br><span>75<\/span><br><span>76<\/span><br><span>77<\/span><br><span>78<\/span><br><span>79<\/span><br><span>80<\/span><br><span>81<\/span><br><span>82<\/span><br><span>83<\/span><br><span>84<\/span><br><\/pre>\n<\/td>\n<td>\n<pre><span>import javax.crypto.Cipher;<\/span><br><span>import javax.crypto.spec.SecretKeySpec;<\/span><br><span>import java.util.Base64;<\/span><br><span><\/span><br><span>&#x2F;**<\/span><br><span> * @author baihe<\/span><br><span> *&#x2F; public class AES &#123;<\/span><br><span><\/span><br><span>    &#x2F;**<\/span><br><span> * \u52a0\u5bc6\u7b97\u6cd5<\/span><br><span>  *<\/span><br><span> * @param sSrc<\/span><br><span>  * @param sKey<\/span><br><span>  * @return<\/span><br><span>  * @throws Exception<\/span><br><span> *&#x2F;  public static String Encrypt(String sSrc, String sKey) throws Exception &#123;<\/span><br><span>        if (sKey &#x3D;&#x3D; null) &#123;<\/span><br><span>            System.out.print(&quot;Key\u4e3a\u7a7anull&quot;);<\/span><br><span>            return null;<\/span><br><span>        &#125;<\/span><br><span>        &#x2F;&#x2F; \u5224\u65adKey\u662f\u5426\u4e3a16\u4f4d<\/span><br><span>  if (sKey.length() !&#x3D; 16) &#123;<\/span><br><span>            System.out.print(&quot;Key\u957f\u5ea6\u4e0d\u662f16\u4f4d&quot;);<\/span><br><span>            return null;<\/span><br><span>        &#125;<\/span><br><span>        byte[] raw &#x3D; sKey.getBytes(&quot;utf-8&quot;);<\/span><br><span>        SecretKeySpec skeySpec &#x3D; new SecretKeySpec(raw, &quot;AES&quot;);<\/span><br><span>        Cipher cipher &#x3D; Cipher.getInstance(&quot;AES&#x2F;ECB&#x2F;PKCS5Padding&quot;);&#x2F;&#x2F;&quot;\u7b97\u6cd5&#x2F;\u6a21\u5f0f&#x2F;\u8865\u7801\u65b9\u5f0f&quot;<\/span><br><span>  cipher.init(Cipher.ENCRYPT_MODE, skeySpec);<\/span><br><span>        byte[] encrypted &#x3D; cipher.doFinal(sSrc.getBytes(&quot;utf-8&quot;));<\/span><br><span><\/span><br><span>        String result &#x3D; Base64.getEncoder().encodeToString(encrypted);<\/span><br><span>        return java.net.URLEncoder.encode(result, &quot;UTF-8&quot;); &#x2F;&#x2F;\u6b64\u5904\u4f7f\u7528BASE64\u505a\u8f6c\u7801\u529f\u80fd\uff0c\u540c\u65f6\u80fd\u8d77\u52302\u6b21\u52a0\u5bc6\u7684\u4f5c\u7528\u3002<\/span><br><span>  &#125;<\/span><br><span><\/span><br><span>    &#x2F;&#x2F; \u89e3\u5bc6\u7b97\u6cd5<\/span><br><span>  public static String Decrypt(String sSrc, String sKey) throws Exception &#123;<\/span><br><span>        try &#123;<\/span><br><span>            &#x2F;&#x2F; \u5224\u65adKey\u662f\u5426\u6b63\u786e<\/span><br><span>  if (sKey &#x3D;&#x3D; null) &#123;<\/span><br><span>                System.out.print(&quot;Key\u4e3a\u7a7anull&quot;);<\/span><br><span>                return null;<\/span><br><span>            &#125;<\/span><br><span>            &#x2F;&#x2F; \u5224\u65adKey\u662f\u5426\u4e3a16\u4f4d<\/span><br><span>  if (sKey.length() !&#x3D; 16) &#123;<\/span><br><span>                System.out.print(&quot;Key\u957f\u5ea6\u4e0d\u662f16\u4f4d&quot;);<\/span><br><span>                return null;<\/span><br><span>            &#125;<\/span><br><span>            byte[] raw &#x3D; sKey.getBytes(&quot;utf-8&quot;);<\/span><br><span>            SecretKeySpec skeySpec &#x3D; new SecretKeySpec(raw, &quot;AES&quot;);<\/span><br><span>            Cipher cipher &#x3D; Cipher.getInstance(&quot;AES&#x2F;ECB&#x2F;PKCS5Padding&quot;);<\/span><br><span>            cipher.init(Cipher.DECRYPT_MODE, skeySpec);<\/span><br><span>            try &#123;<\/span><br><span>                sSrc &#x3D; java.net.URLDecoder.decode(sSrc, &quot;UTF-8&quot;);<\/span><br><span>                byte[] encrypted1 &#x3D; Base64.getDecoder().decode(sSrc);&#x2F;&#x2F;\u5148\u7528base64\u89e3\u5bc6<\/span><br><span>  byte[] original &#x3D; cipher.doFinal(encrypted1);<\/span><br><span>                String originalString &#x3D; new String(original, &quot;utf-8&quot;);<\/span><br><span>                return originalString;<\/span><br><span>            &#125; catch (Exception e) &#123;<\/span><br><span>                System.out.println(e.toString());<\/span><br><span>                return null;<\/span><br><span>            &#125;<\/span><br><span>        &#125; catch (Exception ex) &#123;<\/span><br><span>            System.out.println(ex.toString());<\/span><br><span>            return null;<\/span><br><span>        &#125;<\/span><br><span>    &#125;<\/span><br><span><\/span><br><span>    public static void main(String[] args) throws Exception &#123;<\/span><br><span>        &#x2F;*<\/span><br><span> * \u6b64\u5904\u4f7f\u7528AES-128-ECB\u52a0\u5bc6\u6a21\u5f0f\uff0ckey\u9700\u8981\u4e3a16\u4f4d\u3002  *&#x2F;  String cKey &#x3D; &quot;WeDoct_XiangYang&quot;;<\/span><br><span>        &#x2F;&#x2F; \u9700\u8981\u52a0\u5bc6\u7684\u5b57\u4e32<\/span><br><span>  String cSrc &#x3D; &quot;&#123;&quot;doctorIdcard&quot;:&quot;420682198102024516&quot;,&quot;doctorBelongTeamid&quot;:&quot;84&quot;,&quot;idcard&quot;:&quot;110101200003070236&quot;,&quot;mobile&quot;:&quot;13910043421&quot;,&quot;name&quot;:&quot;\\u5927\\u767d&quot;,&quot;type&quot;:&quot;1&quot;,&quot;relationship&quot;:&quot;10&quot;,&quot;relationDesc&quot;:&quot;\\u5b59\\u5973&quot;,&quot;liveProvinceid&quot;:&quot;420000000000&quot;,&quot;liveCityid&quot;:&quot;420600000000&quot;,&quot;liveCountyid&quot;:&quot;420682000000&quot;,&quot;liveTownshipid&quot;:&quot;420682104000&quot;,&quot;liveVillageid&quot;:&quot;420682104001&quot;,&quot;liveDetailAddress&quot;:&quot;\\u8944\\u9633\\u5e02&quot;,&quot;crowdType&quot;:&quot;1&quot;,&quot;isTuberculosis&quot;:&quot;0&quot;,&quot;isHypertension&quot;:&quot;0&quot;,&quot;isDiabetes&quot;:&quot;0&quot;,&quot;isPsychologica&quot;:&quot;0&quot;,&quot;isDestitute&quot;:&quot;0&quot;,&quot;isDisabilit&quot;:&quot;0&quot;,&quot;isPoverty&quot;:&quot;0&quot;,&quot;isFlowPeople&quot;:&quot;1&quot;,&quot;isFiveInsured&quot;:&quot;0&quot;,&quot;isLowInsured&quot;:&quot;0&quot;,&quot;app_id&quot;:&quot;xysignbaokang&quot;,&quot;app_secret&quot;:&quot;3RDfblpUvziDOmSk&quot;&#125;&quot;;<\/span><br><span><\/span><br><span>        System.out.println(cSrc);<\/span><br><span>        &#x2F;&#x2F; \u52a0\u5bc6<\/span><br><span>  String enString &#x3D; AES.Encrypt(cSrc, cKey);<\/span><br><span>        System.out.println(&quot;\u52a0\u5bc6\u540e\u7684\u5b57\u4e32\u662f\uff1a&quot; + enString);<\/span><br><span><\/span><br><span>        &#x2F;&#x2F; \u89e3\u5bc6<\/span><br><span>  String DeString &#x3D; AES.Decrypt(enString, cKey);<\/span><br><span>        System.out.println(&quot;\u89e3\u5bc6\u540e\u7684\u5b57\u4e32\u662f\uff1a&quot; + DeString);<\/span><br><span>    &#125;<\/span><br><span>&#125;<\/span><br><\/pre>\n<\/td>\n<\/tr>\n<\/table>\n<\/figure>\n<h3><a href=\"https:\/\/www.studytime.xin\/article\/#php-\u52a0\u89e3\u5bc6\u65b9\u6cd5\" title=\"php \u52a0\u89e3\u5bc6\u65b9\u6cd5\"><\/a>php \u52a0\u89e3\u5bc6\u65b9\u6cd5<\/h3>\n<figure>\n<table>\n<tr>\n<td>\n<pre><span>1<\/span><br><span>2<\/span><br><span>3<\/span><br><span>4<\/span><br><span>5<\/span><br><span>6<\/span><br><span>7<\/span><br><span>8<\/span><br><span>9<\/span><br><span>10<\/span><br><span>11<\/span><br><span>12<\/span><br><span>13<\/span><br><span>14<\/span><br><span>15<\/span><br><span>16<\/span><br><span>17<\/span><br><span>18<\/span><br><span>19<\/span><br><span>20<\/span><br><\/pre>\n<\/td>\n<td>\n<pre><span>public static function WeDecrypt($input, $securityKey) &#123;<\/span><br><span>  $input &#x3D; urldecode($input); <\/span><br><span>  $input &#x3D; openssl_decrypt($input, &#39;AES-128-ECB&#39;, $securityKey);    <\/span><br><span>  if (!$input) &#123;<\/span><br><span>    return false;<\/span><br><span>   &#125;  <\/span><br><span>   return $input; <\/span><br><span> &#125;<\/span><br><span><\/span><br><span>public static function WeDoctorEncrypt($input, $securityKey) &#123;<\/span><br><span>  <\/span><br><span>  $inputArr &#x3D; json_decode($input, true);&#x2F;&#x2F;\u8f6c\u4e3a\u6570\u7ec4<\/span><br><span>  if (!is_array($inputArr) || empty($inputArr)) &#123;<\/span><br><span>    return false;<\/span><br><span>   &#125;    <\/span><br><span>   $input &#x3D; json_encode($inputArr, JSON_UNESCAPED_UNICODE);&#x2F;&#x2F;\u8f6c\u4e3ajson\u5b57\u7b26\u4e32   <\/span><br><span>   &#x2F;&#x2F;\u8fdb\u884cAes\u52a0\u5bc6  <\/span><br><span>   $data &#x3D; openssl_encrypt($input, &#39;AES-128-ECB&#39;, $securityKey);<\/span><br><span>    return urlencode($data); <\/span><br><span> &#125;<\/span><br><\/pre>\n<\/td>\n<\/tr>\n<\/table>\n<\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u6587\u6574\u7406\u4e86php\u548cjava\u94fe\u6761\u8fc7\u7a0b&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/131755"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=131755"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/131755\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=131755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=131755"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=131755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}