久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

記錄:php rsa加密處理失敗的解決方法

關于php rsa加密處理

最近剛好需要跟一個第三方系統對接幾個接口,對方要求 post 數據需要 rsa 加密,于是百度搜了一下 php 關于 rsa 加密的處理,然后大家可能就會跟我一樣搜出以下示例:

  /**           * @uses 公鑰加密           * @param string $data           * @return null|string           */         public function publicEncrypt($data = '') {                 if (!is_string($data)) {             return null;                 }                 return openssl_public_encrypt($data, $encrypted, $this->_getPublicKey()) ? base64_encode($encrypted) : null;     }

于是開開心心的復制到自己項目稍微修改修改后測試,簡簡單單傳幾個字符串進去:

<?php $string = '基督教解決基督教解決決'; $ret = publicEncrypt($string); var_dump($ret); /**       * @uses 公鑰加密       * @param string $data       * @return null|string       */     function publicEncrypt($data = '') {         $publicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiX1bIq02AFypLOJ4byShfo6+D6pj0rQrdAtZ8Bb2Z4YwdCZS5vlEduBiVCZSKfF70M0nk4gMqhAKcgwqWxgI1/j8OrX401AssfaiXr2JqsAl679s+Xlwe0jppNe1832+3g0YOawDTpAQsUJDu1DpnyGnUz0qeac0/GiAJlXzKUP+/3db8haDuOkgYrT8A6twGAm7YwIuliieDWDcUS/CQzXGRtwtZQqUJDQsWC1lCML1kRUjbZ2EM2EzyttgHN0SsNryhVLHXSFXpDWbeqQwk36axojGF1lbg/oVQy+BnYJx8pKpTgSwIDAQAB';         $publicKey = "-----BEGIN PUBLIC KEY-----n" .     wordwrap($publicKey, 64, "n", true) .     "n-----END PUBLIC KEY-----";     if (!is_string($data)) {         return null;             }             return openssl_public_encrypt($data, $encrypted, $publicKey) ? base64_encode($encrypted) : null; }

程序打?。?/p>

string(344) "HSqVQbyhmWYrptvgzK+ggqmma88QRFVJerXTrZ+RpYqhZr/Dr9au9wxX+aAYy1wRh0eBk+fIpU4wkEZs6P5yozf5e/rAAEYUOImTJZcOvZqr89znT3yqaV8ME+vR16FLK5sk3BwgpOWI6X+wBwU2cLnHKDdj9RpYWAYhi/mn8XJj4/srKZbSgAjvzWqZI9gfqiJNdz8kf/MPtQ65cSlAhvh4eByY8cLGfgUXV0dxzWAkwTSPl2faSq3GHsNMXnxwoNjIvqz/IuZavqABNVZCwrZC3ZVb+Op7wF9GxrkIdJYzmHpX/wNn1DPLHUvghtO/WmfN4Jb2ZVzTsneB5B3Z6g=="

看似一切正常,實際項目中對一個比較長的 json 字符串進行加密時,發(fā)現返回了 null,追溯了一下 openssl_public_encrypt 這個函數此時是返回 false 的,表示加密失敗。傳入不同長度的字符串測試了幾遍后發(fā)現字符串長度超過 100 多之后就會出現加密失敗的問題,參考了一下對方發(fā)來的 java 加密示例

    /**      * 用公鑰加密      * @param data      * @param publicKey      * @return      * @throws Exception      */     public static String rsaEncrypt(String data, PublicKey publicKey) throws Exception {         Cipher cipher = Cipher.getInstance(RSA_ALGORITHM);         cipher.init(Cipher.ENCRYPT_MODE, publicKey);         int inputLen = data.getBytes().length;         ByteArrayOutputStream out = new ByteArrayOutputStream();         int offset = 0;         byte[] cache;         int i = 0;         // 對數據分段加密         while (inputLen - offset > 0) {             if (inputLen - offset > MAX_ENCRYPT_BLOCK) {                 cache = cipher.doFinal(data.getBytes(), offset, MAX_ENCRYPT_BLOCK);             } else {                 cache = cipher.doFinal(data.getBytes(), offset, inputLen - offset);             }             out.write(cache, 0, cache.length);             i++;             offset = i * MAX_ENCRYPT_BLOCK;         }         byte[] encryptedData = out.toByteArray();         out.close();         // 加密后的字符串         return Base64.getEncoder().encodeToString(encryptedData);     }

發(fā)現他們是需要對要加密的字符串進行一個分割操作,于是有了以下修改后的版本:

/**  * 公鑰加密   * @param string $data   * @return null|string  */  public function publicEncrypt($data = '')  {     if (!is_string($data)) {         return null;     }     $dataLength = mb_strlen($data);     $offet = 0;     $length = 128;     $i = 0;     $string = '';     while ($dataLength - $offet > 0) {         if ($dataLength - $offet > $length) {             $str = mb_substr($data, $offet, $length);         } else {             $str = mb_substr($data, $offet, $dataLength - $offet);         }         $encrypted = '';         openssl_public_encrypt($str,$encrypted, $this->rsaPublicKey, OPENSSL_PKCS1_OAEP_PADDING);//這個OPENSSL_PKCS1_OAEP_PADDING是對方要求要用這種padding方式         $string .= $encrypted;         $i ++;         $offet = $i * $length;     }     return base64_encode($string); }

目前測試沒有再發(fā)現加密失敗問題~問題解決

推薦:《PHP視頻教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
国产一区二区三区自拍| av高清不卡| 激情五月综合| 欧美日韩色图| 国产精品女主播一区二区三区| 热三久草你在线| 久久久影院免费| 在线亚洲精品| 青草av.久久免费一区| 欧美啪啪一区| 久久精品福利| 国产66精品| 日韩不卡视频在线观看| 欧美日韩少妇| 日韩精品一区二区三区免费视频 | 69堂免费精品视频在线播放| 国产精品白丝av嫩草影院| 激情综合五月| 精品一区在线| 亚洲精品高潮| 91亚洲精品视频在线观看| 麻豆免费精品视频| 999久久久国产精品| 中文字幕中文字幕精品| 国产精品一区二区免费福利视频| 久久影院资源站| 国户精品久久久久久久久久久不卡 | 亚洲一区二区三区中文字幕在线观看| 亚洲精品精选| 欧美激情国产在线| 人人爽香蕉精品| 久久亚洲人体| 天堂成人免费av电影一区| 国产精品久久久久久av公交车| 亚洲一级少妇| 免费在线看一区| 国产一区二区色噜噜| 亚洲一区二区三区高清不卡| 国产精品综合| 在线亚洲精品| 精品三级国产| 免费精品视频| 成人午夜在线| 日日夜夜免费精品| 亚洲成人二区| 国产精品极品| 玖玖精品视频| 三级在线看中文字幕完整版| 日韩和欧美的一区| 国产91一区| 精品色999| 亚洲精品女人| 亚洲国产不卡| 欧美久久天堂| 麻豆精品新av中文字幕| 亚洲欧洲日韩| 欧美精品激情| 欧美日韩精品免费观看视欧美高清免费大片 | 欧美激情综合| 亚洲精品自拍| 亚洲一区二区毛片| 国产91一区| 日韩久久精品| 精品一级视频| 国产香蕉精品| 五月亚洲婷婷 | 精品一区二区三区亚洲 | 天堂成人免费av电影一区| 日韩黄色大片网站| 国产精品3区| 日韩午夜视频在线| 香蕉精品999视频一区二区| 日韩中文字幕高清在线观看| 国产探花一区在线观看| 美国三级日本三级久久99| 婷婷激情一区| 国产一区2区在线观看| 欧美日韩国产一区二区在线观看| 91精品1区| 久久久久亚洲| 国产精品99一区二区三| 国产精品激情电影| 国产亚洲欧美日韩在线观看一区二区 | 日本一不卡视频| 蜜臀a∨国产成人精品| 国产亚洲在线观看| 国产韩日影视精品| 国产91精品对白在线播放| 国产v日韩v欧美v| 韩国女主播一区二区三区| 国产精品porn| 精品国产一区二区三区性色av| 美女精品视频在线| 国产成人调教视频在线观看| 日韩.com| 中文字幕一区久| 久久久久网站| 久久一区二区中文字幕| 久久理论电影| 黄色欧美日韩| 石原莉奈在线亚洲二区| 亚洲欧美日韩国产| 久久亚洲国产精品一区二区| 老色鬼久久亚洲一区二区| 亚洲一区二区三区在线免费| 亚洲精品一二| 国产精品巨作av| 欧美丰满日韩| 欧美/亚洲一区| 免费不卡在线观看| 69堂免费精品视频在线播放| 精品国产午夜肉伦伦影院| 欧美丰满日韩| 国产一区亚洲| 亚洲v天堂v手机在线| 欧美精品国产| 日本蜜桃在线观看视频| 欧美在线观看视频一区| 午夜在线播放视频欧美| 亚洲免费一区三区| 欧美aⅴ一区二区三区视频| av资源新版天堂在线| 欧美午夜不卡| 91欧美精品| 国产黄大片在线观看| 99国产精品99久久久久久粉嫩| 中文字幕日韩亚洲| 老司机免费视频一区二区三区| 日本欧美不卡| 亚洲日产av中文字幕| 国产videos久久| 伊人久久成人| 国产精品一区二区美女视频免费看| 精品国产不卡| 99国产精品久久久久久久成人热| 日本成人在线不卡视频| 成人污污视频| 一本一本久久| 免费日韩成人| av不卡在线看| 美女视频黄久久| 欧美日韩国产探花| 麻豆精品新av中文字幕| 亚洲欧美伊人| 国产精品一区二区精品视频观看 | 免费观看不卡av| 日韩高清一区在线| 成人免费电影网址| 国产一区 二区| 亚洲精品一区二区在线看| 国产精品综合| 亚洲综合三区| 都市激情国产精品| 亚洲精品极品| av高清一区| 日韩av一区二区三区四区| 亚洲四虎影院| 麻豆一区二区三区| 日本亚洲三级在线| 99精品视频在线| 麻豆极品一区二区三区| 最新亚洲国产| 久久理论电影| 97在线精品| 狠狠干综合网| 国产亚洲久久| 黄色亚洲大片免费在线观看| 精品一区二区三区视频在线播放| 中文久久精品| 国产白浆在线免费观看| 日本一区中文字幕| 亚洲欧洲另类| 日韩电影免费在线观看| 国产三级一区| 亚洲免费婷婷| 久久久一二三| 国产福利资源一区| 中文字幕中文字幕精品| 婷婷国产精品| 国产精选在线| 精品日韩一区| 国产精品高清一区二区| 日韩在线黄色| 蜜臀久久99精品久久久画质超高清| 日本免费久久| 国产精品1luya在线播放| 中文字幕亚洲影视| 伊人影院久久| 免费毛片在线不卡| 久久毛片亚洲| 福利一区二区免费视频 | 日韩高清二区| 在线观看亚洲精品福利片| 不卡中文一二三区| 成人va天堂| 欧美久久天堂| 日韩啪啪电影网| 免费福利视频一区二区三区| 色爱综合网欧美| 久久影院一区二区三区|