婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > ThinkPHP實(shí)現(xiàn)的rsa非對(duì)稱(chēng)加密類(lèi)示例

ThinkPHP實(shí)現(xiàn)的rsa非對(duì)稱(chēng)加密類(lèi)示例

熱門(mén)標(biāo)簽:寶安400電話(huà)辦理 哈爾濱400電話(huà)辦理到易號(hào)網(wǎng) 拉薩打電話(huà)機(jī)器人 電銷(xiāo)機(jī)器人-快迭智能 高識(shí)別電銷(xiāo)機(jī)器人 沈陽(yáng)人工智能電銷(xiāo)機(jī)器人公司 h5 地圖標(biāo)注 智能外呼電銷(xiāo)系統(tǒng) 合肥外呼系統(tǒng)app

本文實(shí)例講述了ThinkPHP實(shí)現(xiàn)的rsa非對(duì)稱(chēng)加密類(lèi)。分享給大家供大家參考,具體如下:

公鑰加密后的字符串是一直變化的,但是用私鑰解密后的內(nèi)容仍然是相同的,這是為了加密數(shù)據(jù)使用的。

私鑰加密的字符串是不會(huì)變化的,即使暴露在外網(wǎng)上別人截取時(shí)如果沒(méi)有公鑰也是看不出來(lái)內(nèi)容的,僅允許給予公鑰的第三方來(lái)解密并看到內(nèi)容,實(shí)際作用相當(dāng)于簽名功能,如果能拿到未加密的內(nèi)容,說(shuō)明一定是信任方的數(shù)據(jù),因?yàn)橛兴暮灻 ?/p>

其實(shí)這種非對(duì)稱(chēng)加密技術(shù)可以用于單點(diǎn)登錄中去,安全級(jí)別高,能解密獲取到內(nèi)容應(yīng)該就是信任方的數(shù)據(jù)。

?php
namespace Common\Org;
class RsaCrypt {
 const CERPATH ='../Application/Runtime/Data/server.cer'; //生成證書(shū)路徑
 const PFXPATH = '../Application/Runtime/Data/server.pfx'; //秘鑰文件路徑
 const FILEDIR = '../Application/Runtime/Data/';
  /**
  * 生成公鑰私鑰
  */
  public static function generateCertKey()
  {
  $dn = array('countryName'=>'CN', 'stateOrProvinceName'=>'beijing', 'localityName'=>'beijing','organizationName'=>'clcw',
    'organizationalUnitName'=>'clcw', 'commonName'=>'clcw', 'emailAddress'=>'service@clcw.com.cn');
  $privkeypass = 'secret';  //私鑰密碼
  $numberOfDays = 365;   //有效時(shí)長(zhǎng),單位為天
  //生成證書(shū)
  $privkey = openssl_pkey_new();
  $csr = openssl_csr_new($dn, $privkey);
  $sscert = openssl_csr_sign($csr, null, $privkey, $numberOfDays);
  openssl_x509_export_to_file($sscert, self::CERPATH);
  openssl_pkcs12_export_to_file($sscert, self::PFXPATH, $privkey, $privkeypass);
  (file_exists(self::CERPATH)) or die('公鑰的文件路徑錯(cuò)誤');
  (file_exists(self::PFXPATH)) or die('密鑰的文件路徑錯(cuò)誤');
  }
  public static function verifyData($originData, $decryptData)
  {
  $cer_key = file_get_contents(self::$cerpath);
  $cer = openssl_x509_read($cer_key);
  $res = openssl_verify($originData, $decryptData, $cer);
  var_dump($res);
  }
  /**
  * 生成公鑰私鑰文件
  * @param $appName string 應(yīng)用名稱(chēng)
  */
  public static function generateKey($appName='')
  {
  $result = ['status'=>0, 'msg'=>''];
  if (!extension_loaded('openssl') ) {
   $result['msg'] = 'php需要openssl支持';
  }
  //創(chuàng)建公鑰
  $res = openssl_pkey_new();//array('private_key_bits'=>512) 這一串參數(shù)不加,否則只能加密54個(gè)長(zhǎng)度的字符串
  //提取私鑰
  openssl_pkey_export($res, $privatekey);
  //生成公鑰
  $public_key = openssl_pkey_get_details($res);
  $publickey = $public_key['key'];
  // $path = self::FILEDIR.$appName;
  try{
   // file_put_contents($path.'_public.pem', $publickey);
   // file_put_contents($path.'_private.pem', $privatekey);
   $result['status'] = 1;
   $result['publickey'] = $publickey;
   $result['privatekey'] = $privatekey;
  }catch(\Exception $e) {
   // throw new \Exception($e->getMessage());
   $result['msg'] = $e->getMessage();
  }
  return $result;
  }
  /**
  * 用私鑰加密數(shù)據(jù)
  * @param $data string 需要加密的字符串(最好不要超過(guò)200個(gè)字符)
  * @param $appName string 應(yīng)用名稱(chēng)
  */
  public static function privateEncrypt($data, $appName)
  {
  $result = ['status'=>0, 'msg'=>''];
  $privatekey = C($appName.'.PRIVATE_KEY');
  $myinfo = 'In '.__METHOD__.',privatekey:'.$privatekey."\n";
  file_put_contents('/tmp/shiyf.log', $myinfo, FILE_APPEND);
  //生成resource類(lèi)型的密鑰,如果密鑰文件內(nèi)容被破壞,openssl_pkey_get_private函數(shù)返回false
  $privatekey = openssl_pkey_get_private($privatekey);
  if (empty($privatekey)) {
   $result['msg'] = '密鑰不可用';
  }
  $encryptData = '';
  //用私鑰加密
  if (openssl_private_encrypt($data, $encryptData, $privatekey)) {
   $result['msg'] = base64_encode($encryptData);
   $result['status'] = 1;
  } else {
   $result['msg'] = '加密失敗!';
  }
  return $result;
  }
  /**
  * 用公鑰解密數(shù)據(jù)
  * @param $data string 需要解密的字符串(最好不要超過(guò)200個(gè)字符)
  * @param $appName string 應(yīng)用名稱(chēng)
  */
  public static function publicDecrypt($data, $appName)
  {
  $result = ['status'=>0, 'msg'=>''];
  $data = base64_decode($data);
  $publickey = C($appName.'.PUBLIC_KEY');
  //生成resource類(lèi)型的公鑰,如果公鑰文件內(nèi)容被破壞,openssl_pkey_get_public函數(shù)返回false
  $publickey = openssl_pkey_get_public($publickey);
  if (empty($publickey)) {
   $result['msg'] = '公鑰不可用';
  }
  //解密數(shù)據(jù)
  $decryptData = '';
  if (openssl_public_decrypt($data, $decryptData, $publickey)) {
   $result['msg'] = $decryptData;
   $result['status'] = 1;
  } else {
   $result['msg'] = '解密失敗';
  }
  return $result;
  }
  /**
  * 用公鑰加密數(shù)據(jù)
  * @param $data string 需要加密的字符串(最好不要超過(guò)200個(gè)字符)
  * @param $appName string 應(yīng)用名稱(chēng)
  */
  public static function publicEncrypt($data, $publickey)
  {
  $result = ['status'=>0, 'msg'=>''];
  //生成resource類(lèi)型的公鑰,如果公鑰文件內(nèi)容被破壞,openssl_pkey_get_private函數(shù)返回false
  $publickey = openssl_pkey_get_public($publickey);
  if (empty($publickey)) {
   $result['msg'] = '公鑰不可用';
  }
  $encryptData = '';
  //用私鑰加密
  if (openssl_public_encrypt($data, $encryptData, $publickey)) {
   $result['msg'] = base64_encode($encryptData);
   $result['status'] = 1;
  } else {
   $result['msg'] = '加密失敗!';
  }
  return $result;
  }
  /**
  * 用私鑰加密數(shù)據(jù)
  * @param $data string 需要解密的字符串(最好不要超過(guò)200個(gè)字符)
  * @param $appName string 應(yīng)用名稱(chēng)
  */
  public static function privateDecrypt($data, $appName)
  {
  $result = ['status'=>0, 'msg'=>''];
  $data = base64_decode($data);
  $privatekey = C($appName.'.PRIVATE_KEY');
  //生成resource類(lèi)型的私鑰,如果私鑰文件內(nèi)容被破壞,openssl_pkey_get_public函數(shù)返回false
  $privatekey = openssl_pkey_get_private($privatekey);
  if (empty($privatekey)) {
   $result['msg'] = '私鑰不可用';
  }
  //解密數(shù)據(jù)
  $decryptData = '';
  if (openssl_private_decrypt($data, $decryptData, $privatekey)) {
   $result['msg'] = $decryptData;
   $result['status'] = 1;
  } else {
   $result['msg'] = '解密失敗';
  }
  return $result;
  }
}

PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線(xiàn)工具:

在線(xiàn)RSA加密/解密工具:
http://tools.jb51.net/password/rsa_encode

文字在線(xiàn)加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

在線(xiàn)散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在線(xiàn)MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在線(xiàn)sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門(mén)教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • 淺談PHP SHA1withRSA加密生成簽名及驗(yàn)簽
  • PHP7.1實(shí)現(xiàn)的AES與RSA加密操作示例
  • PHP封裝的非對(duì)稱(chēng)加密RSA算法示例
  • 基于PHP RSA密文過(guò)長(zhǎng)加密解密 越過(guò)1024的解決方法
  • PHP實(shí)現(xiàn)RSA加解密算法示例(生成密鑰位數(shù)為1024位的方法)
  • PHP的RSA加密解密方法以及開(kāi)發(fā)接口使用
  • PHP檢測(cè)接口Traversable用法詳解
  • PHP實(shí)現(xiàn)的MD5結(jié)合RSA簽名算法實(shí)例
  • PHP實(shí)現(xiàn)RSA簽名生成訂單功能【支付寶示例】
  • php rsa 加密,解密,簽名,驗(yàn)簽詳解
  • php基于openssl的rsa加密解密示例
  • PHP rsa加密解密使用方法
  • php實(shí)現(xiàn)RSA加密類(lèi)實(shí)例
  • 詳解PHP使用非對(duì)稱(chēng)加密算法RSA

標(biāo)簽:山東 巴中 成都 張家口 泰州 林芝 威海 梅州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ThinkPHP實(shí)現(xiàn)的rsa非對(duì)稱(chēng)加密類(lèi)示例》,本文關(guān)鍵詞  ThinkPHP,實(shí)現(xiàn),的,rsa,非對(duì)稱(chēng),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ThinkPHP實(shí)現(xiàn)的rsa非對(duì)稱(chēng)加密類(lèi)示例》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于ThinkPHP實(shí)現(xiàn)的rsa非對(duì)稱(chēng)加密類(lèi)示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩精品福利网| 国产午夜精品一区二区| 日本大香伊一区二区三区| 欧美日韩国产综合一区二区| 国产精品伦一区| 久久精品国产色蜜蜜麻豆| 欧美日韩中文另类| 亚洲精品成人精品456| 91影院在线免费观看| 国产亚洲精品免费| 国产成人午夜高潮毛片| 日韩欧美黄色影院| 蜜桃久久久久久久| 欧美一级黄色片| 奇米精品一区二区三区四区| 日韩免费电影网站| 美女任你摸久久| 欧美日韩国产一级二级| 亚洲超碰97人人做人人爱| 在线观看国产91| 三级欧美韩日大片在线看| 在线综合视频播放| 亚洲精品五月天| 久久先锋资源网| 色88888久久久久久影院按摩| 亚洲精品免费视频| 91精品一区二区三区久久久久久 | 成人精品小蝌蚪| 中文字幕亚洲欧美在线不卡| 在线观看av一区二区| 成人av动漫网站| 一区二区欧美精品| xnxx国产精品| 99久久婷婷国产精品综合| 亚洲不卡一区二区三区| 国产精品久久三| 精品va天堂亚洲国产| 一本一本久久a久久精品综合麻豆| 丝袜美腿亚洲色图| 亚洲欧美精品午睡沙发| 久久亚洲精品国产精品紫薇| 色综合天天综合给合国产| 99在线视频精品| 亚洲国产精品激情在线观看| 中文字幕免费不卡在线| 日韩精品影音先锋| 正在播放亚洲一区| 欧美天天综合网| 欧美午夜精品一区| 欧美精品色一区二区三区| 99精品久久久久久| 欧美视频三区在线播放| 制服丝袜亚洲精品中文字幕| 7777精品伊人久久久大香线蕉最新版| 日本久久电影网| 911精品产国品一二三产区| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲一区二区三区四区的| 国产精品久久久久久久久晋中| 国产女人水真多18毛片18精品视频 | 综合久久给合久久狠狠狠97色| 欧美大片在线观看一区二区| 精品日韩成人av| 亚洲私人影院在线观看| 免费观看日韩av| 不卡av在线网| 亚洲精品一区在线观看| 亚洲三级在线免费| 精品一区精品二区高清| 色综合久久久久久久久久久| 精品国产乱码久久久久久1区2区| 国产精品第四页| 日本91福利区| 欧美日韩精品高清| 亚洲视频1区2区| 丁香婷婷综合色啪| 精品久久久网站| 日本va欧美va欧美va精品| 91一区一区三区| 国产精品美女久久久久久久| 久久国内精品自在自线400部| 久久精品在这里| 秋霞午夜av一区二区三区| 欧美三区在线视频| 午夜一区二区三区视频| 欧美系列在线观看| 亚洲图片欧美一区| 日韩一区二区在线看片| 麻豆国产欧美一区二区三区| 欧美一级日韩免费不卡| 秋霞午夜av一区二区三区| 日韩女优av电影| 国产风韵犹存在线视精品| 久久久国际精品| www.av亚洲| 日产精品久久久久久久性色| 久久中文字幕电影| 一本一本大道香蕉久在线精品| 亚洲风情在线资源站| 日韩一本二本av| 色综合一区二区| 国产在线精品国自产拍免费| 国产日韩v精品一区二区| 欧美日韩在线免费视频| 国产精品一区三区| 午夜天堂影视香蕉久久| 亚洲国产一区二区在线播放| 精品日韩一区二区三区免费视频| 精品久久久久久久久久久久久久久 | 免费看欧美美女黄的网站| 日韩欧美资源站| proumb性欧美在线观看| 国产一区二区看久久| 美腿丝袜亚洲三区| 亚洲成av人片一区二区| 亚洲欧美偷拍另类a∨色屁股| 日韩女优制服丝袜电影| 欧美怡红院视频| 在线观看不卡视频| 欧美亚洲国产一区二区三区 | 狠狠网亚洲精品| 国产麻豆成人传媒免费观看| 久久不见久久见免费视频7| 日本女优在线视频一区二区| 亚洲一二三四在线观看| 亚洲综合区在线| 亚洲成人动漫精品| 日本午夜一区二区| 国产一区福利在线| 国产精品一二三四五| 国产精品一区二区久久不卡| 国产一区二区三区综合| 成人激情开心网| 欧美日韩国产高清一区二区三区| 欧美日韩精品一二三区| 日韩精品一区二区三区在线观看| 国产农村妇女毛片精品久久麻豆| 成人免费在线播放视频| 天涯成人国产亚洲精品一区av| 久久精品久久99精品久久| 成人免费黄色在线| 国产精品久久久久婷婷| 亚洲免费看黄网站| 色哟哟精品一区| 欧美一区日韩一区| 亚洲综合男人的天堂| 国产一区二区三区久久悠悠色av| 在线观看国产日韩| 日韩一区中文字幕| 高清免费成人av| 久久综合色之久久综合| 亚洲午夜一二三区视频| 东方欧美亚洲色图在线| 久久精品这里都是精品| 麻豆91在线观看| 日韩精品中文字幕一区| 蜜桃视频第一区免费观看| 在线成人av网站| 水野朝阳av一区二区三区| 在线精品视频小说1| 亚洲一区二区三区美女| 欧美午夜电影在线播放| 成人欧美一区二区三区视频网页| 成人av网址在线| 中文字幕日韩av资源站| 99久久久国产精品免费蜜臀| 久久久精品免费网站| 成人av综合一区| 图片区小说区国产精品视频| 日韩一区二区免费在线观看| 国产黄色91视频| 亚洲一区二区三区美女| 欧美mv日韩mv国产网站| av在线不卡电影| 香港成人在线视频| 久久青草国产手机看片福利盒子| av电影天堂一区二区在线观看| 午夜精品爽啪视频| 久久久久久久久久久久久女国产乱 | 五月激情六月综合| 在线观看日韩高清av| 免费亚洲电影在线| 国产片一区二区| 91精品国产91久久综合桃花| voyeur盗摄精品| 国产一区二区三区观看| 亚洲精品国产a| 亚洲天堂2016| 国产精品国产精品国产专区不蜜| 91麻豆精品国产91久久久更新时间| 成人免费视频app| 国内精品写真在线观看| 日本强好片久久久久久aaa| 18欧美乱大交hd1984| 国产亚洲精久久久久久| 久久精品人人做人人综合| 久久综合一区二区| 久久久国际精品| 精品日韩一区二区三区免费视频| 欧美日韩情趣电影|