最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于PHP RSA密文過長加密解密 越過1024的解決方法

 更新時(shí)間:2018年03月21日 09:11:14   作者:httpp886  
下面小編就為大家分享一篇基于PHP RSA密文過長加密解密 越過1024的解決方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下所示:

<?php
namespace helpers;

class OpensslRSA{

 //echo $private_key 私鑰;
 public $private_key = '-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC+L7ENzBHxKOqjuFHPFKlAt40BatVZhUAHw/G05XshpTGqm9Rv
8wG0EAbFbdo9PuB8DiXdPQLyIfaqkTgpsPjJ1Ow7WKxmYbqZN5IW/GN+TyFWP+MB
2W6IBLPWBDvAl2NJlmU8j3LCPJW1dH4zP1OitkxZMyUuUYYfPuOtO9RJ2wIDAQAB
AoGAUFCbmJQBT7JTxGfmRGkZQLdC2MJg7rkS3TSmMhpm8UJtwvqjr9MTeRL7iQxn
CU4wRrNC0jcds1sca9N/wDt4FCkCala+bg7mwQuPpg5QhXelfFr88ibRnP8y8LmZ
7PPNqx9c4jivhMzJrzNh3luqg6awjsig2w3+EW1/Ubb30AECQQDshTvyc5mpDgiO
4g8q1ztszszL9eCp+IjlUaN51vC3Nj1eXpjbtdSZ0JVKrDdhKcd3rEZVYzMQN/lI
pyq85e/bAkEAzdmN6TF3Y1h3LouumCy6+61ChTFrl/yjw13CGApmAQHhEVyANHr7
NjoxP06eimzn7KHff/eYxd1Emf1SYA8uAQJBAN1ibFUpLRgXAZ20LNw9r+rNutXi
ZJLUBlcXTjv6G0ByLYkKZGuqy7/ZhBPsFL4GnCUBBKhh/ObebaA6kH9VfmcCQGfg
0WxMOiM4EWy7sG+6ouE+ncL5HYKlSz7boYbgOHlpqVpJg6j4Jq1G0HNSCU9xhdg0
F8VL/RxcfLH41AkFoAECQQCR8NDB3BgHqyJfarKKMWQ3qrXHaLfBKExMrpQ8MDzs
MlSBzFOnucufo110lSgjdRlgr8smtU2hx9gXFIqxvfWF
-----END RSA PRIVATE KEY-----';

 //公鑰
 public $public_key = '-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+L7ENzBHxKOqjuFHPFKlAt40B
atVZhUAHw/G05XshpTGqm9Rv8wG0EAbFbdo9PuB8DiXdPQLyIfaqkTgpsPjJ1Ow7
WKxmYbqZN5IW/GN+TyFWP+MB2W6IBLPWBDvAl2NJlmU8j3LCPJW1dH4zP1OitkxZ
MyUuUYYfPuOtO9RJ2wIDAQAB
-----END PUBLIC KEY-----';
public $pi_key;
 public $pu_key;

 //判斷公鑰和私鑰是否可用
 public function __construct()
 {
  $this->pi_key = openssl_pkey_get_private($this->private_key);//這個(gè)函數(shù)可用來判斷私鑰是否是可用的,可用返回資源id Resource id
  $this->pu_key = openssl_pkey_get_public($this->public_key);//這個(gè)函數(shù)可用來判斷公鑰是否是可用的
  // print_r($this->pi_key);echo "\n";
  // print_r($this->pu_key);echo "\n";
 }

 //私鑰加密
 /*public function PrivateEncrypt($data){
  openssl_private_encrypt($data,$encrypted,$this->pi_key);
  $encrypted = $this->urlsafe_b64encode($encrypted);//加密后的內(nèi)容通常含有特殊字符,需要編碼轉(zhuǎn)換下,在網(wǎng)絡(luò)間通過url傳輸時(shí)要注意base64編碼是否是url安全的
  return $encrypted;
 }*/

 public function PrivateEncrypt($data){
  // openssl_private_encrypt($data,$encrypted,$this->pi_key);
  $crypto = '';
  foreach (str_split($data, 117) as $chunk) {
   openssl_private_encrypt($chunk, $encryptData, $this->pi_key);
   $crypto .= $encryptData;
  }
  $encrypted = $this->urlsafe_b64encode($crypto);//加密后的內(nèi)容通常含有特殊字符,需要編碼轉(zhuǎn)換下,在網(wǎng)絡(luò)間通過url傳輸時(shí)要注意base64編碼是否是url安全的
  return $encrypted;
 }
//加密碼時(shí)把特殊符號替換成URL可以帶的內(nèi)容
 function urlsafe_b64encode($string) {
  $data = base64_encode($string);
  $data = str_replace(array('+','/','='),array('-','_',''),$data);
  return $data;
 }

 //解密碼時(shí)把轉(zhuǎn)換后的符號替換特殊符號
 function urlsafe_b64decode($string) {
  $data = str_replace(array('-','_'),array('+','/'),$string);
  $mod4 = strlen($data) % 4;
  if ($mod4) {
   $data .= substr('====', $mod4);
  }
  return base64_decode($data);
 }

 //私鑰加密的內(nèi)容通過公鑰可用解密出來
 public function PublicDecrypt($encrypted){
  // $encrypted = $this->urlsafe_b64decode($encrypted);
  $crypto = '';
  foreach (str_split($this->urlsafe_b64decode($encrypted), 128) as $chunk) {
   openssl_public_decrypt($chunk, $decryptData, $this->pu_key);
   $crypto .= $decryptData;
  }
  //openssl_public_decrypt($encrypted,$decrypted,$this->pu_key);//私鑰加密的內(nèi)容通過公鑰可用解密出來
  return $crypto;
 }

 //公鑰加密
 public function PublicEncrypt($data){
  //openssl_public_encrypt($data,$encrypted,$this->pu_key);//公鑰加密
  $crypto = '';
  foreach (str_split($data, 117) as $chunk) {
   openssl_public_encrypt($chunk, $encryptData, $this->pu_key);
   $crypto .= $encryptData;
  }
  $encrypted = $this->urlsafe_b64encode($crypto);
  return $encrypted;
 }

 //私鑰解密
 public function PrivateDecrypt($encrypted)
 {
  $crypto = '';
  foreach (str_split($this->urlsafe_b64decode($encrypted), 128) as $chunk) {
   openssl_private_decrypt($chunk, $decryptData, $this->pi_key);
   $crypto .= $decryptData;
  }
  //$encrypted = $this->urlsafe_b64decode($encrypted);
  //openssl_private_decrypt($encrypted,$decrypted,$this->pi_key);
  return $crypto;
 }
}

不用我多寫什么了吧,有問題可以直接聯(lián)系我。

以上這篇基于PHP RSA密文過長加密解密 越過1024的解決方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • php中的注釋、變量、數(shù)組、常量、函數(shù)應(yīng)用介紹

    php中的注釋、變量、數(shù)組、常量、函數(shù)應(yīng)用介紹

    本文將詳細(xì)介紹php中的注釋、變量、數(shù)組、常量、函數(shù)應(yīng)用,需要的朋友可以參考下
    2012-11-11
  • 新安裝的MySQL數(shù)據(jù)庫需要注意的安全知識(shí)

    新安裝的MySQL數(shù)據(jù)庫需要注意的安全知識(shí)

    在你自己安裝了一個(gè)新的MySQL服務(wù)器后,你需要為MySQL的root用戶指定一個(gè)目錄(缺省無口令),否則如果你忘記這點(diǎn),你將你的MySQL處于極不安全的狀態(tài)(至少在一段時(shí)間內(nèi))。
    2008-07-07
  • THINKPHP跨域報(bào)錯(cuò)的解決方案

    THINKPHP跨域報(bào)錯(cuò)的解決方案

    這篇文章主要介紹了THINKPHP跨域報(bào)錯(cuò)has been blocked by CORS policy: Response to preflight request doesn't pass access control check的解決方案,文中通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • PHP簡單操作MongoDB的方法(安裝及增刪改查)

    PHP簡單操作MongoDB的方法(安裝及增刪改查)

    這篇文章主要介紹了PHP簡單操作MongoDB的方法,簡單分析了php安裝及操作MongoDB數(shù)據(jù)庫的方法,涉及PHP針對MongoDB數(shù)據(jù)庫基本的增刪改查等操作技巧,需要的朋友可以參考下
    2016-05-05
  • PHP貪婪算法解決0-1背包問題實(shí)例分析

    PHP貪婪算法解決0-1背包問題實(shí)例分析

    這篇文章主要介紹了PHP貪婪算法解決0-1背包問題,實(shí)例分析了貪婪算法的原理與背包問題的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-03-03
  • php.ini中的php-5.2.0配置指令詳解

    php.ini中的php-5.2.0配置指令詳解

    簡介本文并非是對英文版 php.ini 的簡單翻譯,而是參考了眾多資料以后,結(jié)合自己的理解, 在原有 php.ini 基礎(chǔ)上增加了一些實(shí)用模塊的配置說明,同時(shí)對文件內(nèi)容的安排進(jìn)行了調(diào)整。 由于作者不喜歡 no-free 的玩意兒,所以刪除了除 MySQL 和 PostgreSQL 以外的其他數(shù)據(jù)庫模塊配置選項(xiàng)。
    2008-03-03
  • php防止網(wǎng)站被刷新的方法匯總

    php防止網(wǎng)站被刷新的方法匯總

    這篇文章主要介紹了php防止網(wǎng)站被刷新的方法,實(shí)例匯總了常見的PHP防刷新技巧及應(yīng)用實(shí)例,具有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-12-12
  • PHP獲取一年中每個(gè)星期的開始和結(jié)束日期的方法

    PHP獲取一年中每個(gè)星期的開始和結(jié)束日期的方法

    這篇文章主要介紹了PHP獲取一年中每個(gè)星期的開始和結(jié)束日期的方法,涉及php對日期操作的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • PHP中$this和$that指針使用實(shí)例

    PHP中$this和$that指針使用實(shí)例

    這篇文章主要介紹了PHP中$this和$that指針使用實(shí)例,也可說是它們的使用區(qū)別詳解,實(shí)例一看就明白,需要的朋友可以參考下
    2015-01-01
  • 微信公眾平臺(tái)之快遞查詢功能用法實(shí)例

    微信公眾平臺(tái)之快遞查詢功能用法實(shí)例

    這篇文章主要介紹了微信公眾平臺(tái)之快遞查詢功能用法,實(shí)例分析了微信公眾平臺(tái)實(shí)現(xiàn)快遞查詢的相關(guān)技巧與具體用法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04

最新評論

神池县| 曲水县| 长岛县| 连江县| 伊宁县| 石屏县| 项城市| 荆州市| 肥西县| 鄂托克旗| 锦州市| 凤冈县| 阿鲁科尔沁旗| 康保县| 监利县| 顺义区| 巴中市| 连江县| 玉田县| 漯河市| 宁强县| 荥阳市| 文山县| 靖安县| 黔南| 五河县| 阿克陶县| 潮州市| 罗江县| 怀安县| 明光市| 凤阳县| 翁源县| 防城港市| 页游| 嘉善县| 广丰县| 常山县| 巩留县| 银川市| 江孜县|