成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

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

關(guān)于php rsa加密處理

最近剛好需要跟一個第三方系統(tǒng)對接幾個接口,對方要求 post 數(shù)據(jù)需要 rsa 加密,于是百度搜了一下 php 關(guān)于 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; }

程序打印:

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

看似一切正常,實際項目中對一個比較長的 json 字符串進行加密時,發(fā)現(xiàn)返回了 null,追溯了一下 openssl_public_encrypt 這個函數(shù)此時是返回 false 的,表示加密失敗。傳入不同長度的字符串測試了幾遍后發(fā)現(xiàn)字符串長度超過 100 多之后就會出現(xiàn)加密失敗的問題,參考了一下對方發(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;         // 對數(shù)據(jù)分段加密         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ā)現(xiàn)他們是需要對要加密的字符串進行一個分割操作,于是有了以下修改后的版本:

/**  * 公鑰加密   * @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ā)現(xiàn)加密失敗問題~問題解決

推薦:《PHP視頻教程》

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
久久国内精品一区二区三区| 麻豆果冻传媒精品国产AV| 亚洲精品色午夜无码专区日韩| 亚洲AV日韩精品久久久久| 亚洲大尺度无码无码专区| 亚洲一区二区三区国产精华液| 荫蒂每天被男人添| 337P西西人体大胆瓣开下部 | 无码中文AV有码中文AV| 亚洲产国偷v产偷v自拍浪潮AV| 亚洲欧美日韩综合一区| 制服丝袜自拍另类第1页| ZOOM人与ZOOM| 国产精口品美女乱子伦高潮| 狠狠色丁香婷婷亚洲综合| 看久久久久久A级毛片| 群体交乱之放荡娇妻| 太多了太满了肚子装不下了| 亚洲AV永久无码精品放毛片一| 太深太粗太大太猛太爽了视频| 亚洲AV图片一亚洲AV| 曰本真人性做爰ⅩXX| 啊灬啊灬啊灬快高潮视频 | 施主就让贫僧C进去吧| 亚洲AV无码成人黄网站在线观看 | 亚洲精品无码成人片久久| 中文字幕无码无码专区| 大学生被内谢粉嫩无套| 好硬好大好爽18禁免费看男男| 美女浴室洗澡裸体爆乳无遮挡| 日韩AV片无码一区二区三区不卡| 亚洲AV成人无码精品久久漂雪| 在线播放国产不卡免费视频| 成人糖心VLOG视频| 国产区图片区小说区亚洲区| 久久亚洲AV成人无码国产电影| 人体色窝窝7777777| 亚洲AV美女一区二区三区| 中文在线А√在线| 干了老婆闺蜜两个小时| 久久久久精品无码专区| 日韩精品区一区二区三VR| 亚洲精品无码久久久久秋霞| JLZZJLZZ亚洲| 国产最好的高清播放机品牌| 男男射精控制PLAY小说| 无码人妻精品一区二区在线视频| 中国女人内射6XXXXXWWW| 国产成人精品无码片区在线观看| 久久天天婷婷五月俺也去| 色欲午夜无码久久久久久 | 亚洲AV无码成人精品区百度| FREE嫩白18SEⅩ性HD处| 国产专区一线二线三线品牌| 欧美人与动牲交A欧美精品Z| 亚洲VA中文字幕无码一二三区| YSL水蜜桃86| 精品亚洲国产成人| 少妇被粗大的猛烈进出96影院| 一面亲上边一面膜下边| 国产激情久久久久影院蜜桃AV| 麻豆精品一卡2卡三卡4卡免费观| 无码人妻一区二区中文 | 欧美最猛黑人XXXⅩ猛男无码| 亚洲国产成人久久一区二区三区 | 最新AV片免费网站入口| 国产一起色一起爱| 人与动人物XXXXAV片| 亚洲中文自拍另类AV片| 国产精品久久久久永久免费看| 欧美成人免费影片区二区| 亚洲国产成人精品无码区在线秒播| 粗大黑人巨茎大战欧美成人 | 50岁熟妇的呻吟声对白| 果冻传媒MV免费播放在线观看| 日本十八禁免费看污网站| 曰韩欧美群交P片内射| 国色天香果冻传媒国卡1区| 日本XXX色视频在线观看| 一本无线乱码不卡一二三四 | 厨房征服丰满熟妇少妇人妻| 蜜桃无码一区二区三区| 亚洲高清AⅤ日本欧美视频| 粉嫩呦福利视频导航大全| 男人进入女人下部图 | 久久国产色AV免费观看| 午夜理论片免费播放| 成人欧美一区二区三区白人| 免费无码又爽又刺激动态图| 亚洲男同帅GAY片在线观看| 国产精品爽爽ⅤA在线观看| 人妻丰满AV中文久久不卡| 在线观看一区二区三区AV| 极品AV麻豆国产在线观看| 无码纯肉视频在线观看| 成人午夜视频一区二区无码| 女人张开腿让男人桶爽的| 野花高清在线电影观看免费视频| 国内精品久久久久精品爽爽| 天天摸日日摸狠狠添| 成人国产精品秘片多多| 欧美无砖专区一中文字| 中文字幕无码成人免费视频 | 精东视频影视传媒制作| 五十路熟妇无码专区| 国产JJIZZ女人多水喷水| 极品教师高清免费观看| 无码GOGO大胆啪啪艺术| 房中之术御女之功秘术| 奇米综合四色77777久久| 337P日本欧洲亚洲大胆在线| 麻豆精品久久久久久中文字幕无码| 亚洲熟妇无码一区二区三区| 精品国产一区二区三区久久影院| 西方38大但人文艺术| 国产乱子影视频上线免费观看| 免费啪啪全程无遮挡60分钟| 亚洲熟妇色自偷自拍另类| 精品亚洲国产成人AV不卡| 亚洲精品无码专区在线| 精品国产成人国产在线观看| 亚洲国产精久久久久久久| 黑人大荫蒂老太大| 亚洲成AV人片在线播放无码| 国内精品久久久久影院优| 亚欧成人中文字幕一区| 国产亚洲色婷婷久久99精品| 亚洲AV成人无码一区二区在线观看 | 久久亚洲国产精品123区| 夜夜高潮夜夜爽高清视频一| 久久精品国产亚洲夜色AV网站| 亚洲伊人色欲综合网| 久久亚洲AV成人无码电影| 岳胀耸的雪乳奶水| 男女啪啪高潮无遮挡免费| 99精品一区二区三区无码吞精| 欧美ZC0O人与善交的最新章节| BGMBGMBGM日本XX| 日本少妇三级HD激情在线观看| 非洲BBOOMBBOOM的含义| 我把我的肥岳日出水来多少集 | 粗大黑人巨茎大战欧美成人| 熟妇人妻一区二区三区四区 | 午夜熟女插插XX免费视频| 国精品99久9在线 | 免费| 亚洲国产成人AV在线电影播放| 久久99久久99精品免观看| 伊人精品无码AV一区二区三区| 免费看黄A级毛片| 爱丫爱丫影院电影网| 老女人婬乱d一级毛片| 最新永久无码AV网址亚洲| 欧美人交A欧美精品AV一区 | 色欲精品国产一区二区三区AV| 国产丰满美女A级毛片| 亚洲AV永久天码精品天堂DL| 久久精品亚洲成在人线AV麻豆| 1000部又爽又黄无遮挡的视频| 人曾交互MOUSE农场| 东北妇女精品BBWBBW| 午夜.DJ高清在线观看免费7| 狠狠色综合7777久夜色撩人| 一夲道中文字幕AV高清片| 欧美人与牲禽动交精品| 夫上司人妻秘书OL中文有码| 亚洲AⅤ无码一区二区波多野| 久久久精品波多野结衣| 800AV凹凸视频在线观看| 日日婷婷夜日日天干| 国产午夜福利久久精品| 夜夜高潮次次欢爽AV女视频| 人妻 日韩精品 中文字幕| 国产成人乱色伦区| 亚洲欧美日韩综合一区二区| 欧美疯狂性受XXXXX另类| 跪趴式啪啪GIF动态图27报| 日本无码视频精品一二三区 | 成熟丰满熟妇高潮XXXX| 性一交一乱一色一视频| 六十路垂乳熟年交尾| 成人一区二区免费中文字幕视频| 亚洲AV成人一区二区电影在线| 老熟女奶头好大呀| 成人区精品人妻人妻AV| 亚洲AV中文无码乱人伦| 女人高潮娇喘抽搐喷水动态视频| 国产成人无码一二三区视频| 亚洲熟女少妇一区二区| 人妻无码第一区二区三区| 国产一精品一AV一免费爽爽| 50岁丰满女人裸体毛茸茸| 无码人妻一区二区三区免费手机 | 中国老熟女XXXⅩ全部| 少妇侧入内射一区二区| 久久精品熟女亚洲AV麻豆网站 | 做AJ姿势教程大全图片 | 呦交小U女精品视频| 特大巨黑吊XXXX高潮| 领导不戴套玩弄下属娇妻 | 老熟女太熟了95AV|