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

主頁 > 知識庫 > ThinkPHP實(shí)現(xiàn)的rsa非對稱加密類示例

ThinkPHP實(shí)現(xiàn)的rsa非對稱加密類示例

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

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

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

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

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

?php
namespace Common\Org;
class RsaCrypt {
 const CERPATH ='../Application/Runtime/Data/server.cer'; //生成證書路徑
 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;   //有效時長,單位為天
  //生成證書
  $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('公鑰的文件路徑錯誤');
  (file_exists(self::PFXPATH)) or die('密鑰的文件路徑錯誤');
  }
  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)用名稱
  */
  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個長度的字符串
  //提取私鑰
  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 需要加密的字符串(最好不要超過200個字符)
  * @param $appName string 應(yī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類型的密鑰,如果密鑰文件內(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 需要解密的字符串(最好不要超過200個字符)
  * @param $appName string 應(yīng)用名稱
  */
  public static function publicDecrypt($data, $appName)
  {
  $result = ['status'=>0, 'msg'=>''];
  $data = base64_decode($data);
  $publickey = C($appName.'.PUBLIC_KEY');
  //生成resource類型的公鑰,如果公鑰文件內(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 需要加密的字符串(最好不要超過200個字符)
  * @param $appName string 應(yīng)用名稱
  */
  public static function publicEncrypt($data, $publickey)
  {
  $result = ['status'=>0, 'msg'=>''];
  //生成resource類型的公鑰,如果公鑰文件內(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 需要解密的字符串(最好不要超過200個字符)
  * @param $appName string 應(yīng)用名稱
  */
  public static function privateDecrypt($data, $appName)
  {
  $result = ['status'=>0, 'msg'=>''];
  $data = base64_decode($data);
  $privatekey = C($appName.'.PRIVATE_KEY');
  //生成resource類型的私鑰,如果私鑰文件內(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)于加密解密感興趣的朋友還可以參考本站在線工具:

在線RSA加密/解密工具:
http://tools.jb51.net/password/rsa_encode

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

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

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

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

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

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

您可能感興趣的文章:
  • 淺談PHP SHA1withRSA加密生成簽名及驗(yàn)簽
  • PHP7.1實(shí)現(xiàn)的AES與RSA加密操作示例
  • PHP封裝的非對稱加密RSA算法示例
  • 基于PHP RSA密文過長加密解密 越過1024的解決方法
  • PHP實(shí)現(xiàn)RSA加解密算法示例(生成密鑰位數(shù)為1024位的方法)
  • PHP的RSA加密解密方法以及開發(fā)接口使用
  • PHP檢測接口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加密類實(shí)例
  • 詳解PHP使用非對稱加密算法RSA

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ThinkPHP實(shí)現(xiàn)的rsa非對稱加密類示例》,本文關(guān)鍵詞  ThinkPHP,實(shí)現(xiàn),的,rsa,非對稱,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ThinkPHP實(shí)現(xiàn)的rsa非對稱加密類示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于ThinkPHP實(shí)現(xiàn)的rsa非對稱加密類示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    中文字幕精品在线不卡| 成人午夜看片网址| 国产激情一区二区三区桃花岛亚洲| 中文欧美字幕免费| 国产成人av在线影院| 久久女同精品一区二区| 精品影院一区二区久久久| 色婷婷综合久久久中文一区二区| 精品免费国产一区二区三区四区| 亚洲一区二区av在线| 欧美色网一区二区| 青草av.久久免费一区| 欧美一区午夜视频在线观看| 奇米精品一区二区三区在线观看一| 一本色道久久加勒比精品| 香港成人在线视频| 精品久久国产老人久久综合| 国产91高潮流白浆在线麻豆 | 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 欧美一级日韩一级| 成人黄色网址在线观看| 亚洲免费av观看| 欧美一区二区三区四区久久| 国产综合久久久久久鬼色| 欧美国产日韩在线观看| 欧美色倩网站大全免费| 精品影视av免费| 亚洲欧美日韩人成在线播放| 欧美丰满嫩嫩电影| 国产不卡免费视频| 午夜电影久久久| 国产精品成人免费| 久久久无码精品亚洲日韩按摩| 色呦呦国产精品| 懂色av中文字幕一区二区三区 | 久久尤物电影视频在线观看| 欧美电影在线免费观看| 色狠狠色狠狠综合| jvid福利写真一区二区三区| 日日摸夜夜添夜夜添国产精品| 国产精品天天看| 亚洲一区视频在线观看视频| 久久久久高清精品| 久久众筹精品私拍模特| 欧美一级二级三级蜜桃| 欧美亚洲国产怡红院影院| 91蜜桃免费观看视频| 日本韩国一区二区| 一本大道av伊人久久综合| 99久久国产综合色|国产精品| 成人涩涩免费视频| 在线观看三级视频欧美| 久久草av在线| 国产不卡在线播放| 成人h精品动漫一区二区三区| 欧美天堂亚洲电影院在线播放| 亚洲乱码国产乱码精品精小说| 成人福利视频在线| 国产精品国产三级国产| av电影在线不卡| 亚洲综合丁香婷婷六月香| 国产一区二区精品久久99| 欧美日本乱大交xxxxx| 丝袜美腿成人在线| 欧美性猛交xxxxxx富婆| 亚洲成人激情自拍| 欧美视频一区二区三区四区| 一级女性全黄久久生活片免费| 91色porny蝌蚪| 成人一级视频在线观看| 日韩影视精彩在线| 亚洲国产精品精华液ab| 日本韩国精品在线| 欧美性生活久久| 99re热视频精品| 亚洲国产成人av| 婷婷中文字幕一区三区| 欧美成人在线直播| 久久精品99久久久| 首页国产丝袜综合| 国产一区二区三区四区五区入口 | 日韩欧美视频在线| 成人久久18免费网站麻豆| 亚洲一区自拍偷拍| 精品视频资源站| 午夜精品一区二区三区三上悠亚| 欧美成人精品1314www| 欧美女孩性生活视频| 91高清在线观看| 成人永久aaa| 91免费精品国自产拍在线不卡| 精品一区二区成人精品| 亚洲福利一区二区| 亚洲欧美区自拍先锋| 国产日韩av一区| 91精品国产品国语在线不卡| 成人av在线一区二区三区| 17c精品麻豆一区二区免费| 国产精品盗摄一区二区三区| 7777精品伊人久久久大香线蕉完整版 | 免费成人美女在线观看.| 精品视频一区二区三区免费| 国内精品伊人久久久久av一坑| 国产日本欧美一区二区| 欧美成人三级电影在线| 欧美日韩在线直播| 91福利区一区二区三区| 欧美日韩视频不卡| 久久久久久久网| 一区二区三区免费观看| 国内精品伊人久久久久av影院 | 91精品国产色综合久久久蜜香臀| 91精品国产日韩91久久久久久| 亚洲国产精品精华液2区45| 最新日韩av在线| 美腿丝袜亚洲综合| 国产精品一区免费视频| 欧美熟乱第一页| 日韩一区中文字幕| 老司机精品视频一区二区三区| av在线综合网| 精品国产乱码久久久久久图片| 亚洲欧美成人一区二区三区| 免费的成人av| 欧美日韩午夜影院| 亚洲另类春色国产| 欧美午夜精品一区二区蜜桃| 久久久影院官网| 久久午夜国产精品| 精品电影一区二区| 亚洲视频一区在线| 亚洲国产精品一区二区久久恐怖片 | 亚洲人成伊人成综合网小说| 国产视频一区在线观看| 亚洲精品五月天| 婷婷开心久久网| 久久av老司机精品网站导航| 成人激情动漫在线观看| 91精选在线观看| 日韩高清不卡在线| 欧美日韩高清在线| 欧美96一区二区免费视频| 在线播放中文字幕一区| 亚洲国产成人高清精品| 欧美白人最猛性xxxxx69交| 久久99国产精品久久99| 欧美激情自拍偷拍| 97se亚洲国产综合自在线不卡 | 亚洲成人黄色小说| 日韩欧美在线观看一区二区三区| 日韩avvvv在线播放| 日韩午夜激情免费电影| 国产一区二区在线视频| 亚洲婷婷国产精品电影人久久| 色综合久久中文综合久久97| 欧美aaa在线| 国产精品进线69影院| 欧美日韩和欧美的一区二区| 狠狠色丁香婷婷综合久久片| 国产精品剧情在线亚洲| 日韩一区二区在线看片| 国产不卡视频在线观看| 久久精品72免费观看| 亚洲欧洲av另类| 精品精品欲导航| 国产风韵犹存在线视精品| 欧美—级在线免费片| 欧美一级免费大片| 色婷婷久久一区二区三区麻豆| 国产精品亚洲午夜一区二区三区| 日韩高清一级片| 日韩精品91亚洲二区在线观看| 亚洲欧美日韩久久精品| 国产欧美日韩卡一| 日韩欧美一区电影| 日韩欧美中文字幕制服| 欧美午夜精品久久久久久孕妇| 色综合久久综合网97色综合| 粉嫩aⅴ一区二区三区四区| 国产高清在线观看免费不卡| 精品一区二区三区久久| 久久精品99久久久| 丁香一区二区三区| 99精品桃花视频在线观看| 色偷偷一区二区三区| 欧美老肥妇做.爰bbww| 91精品国产色综合久久| 欧美精品一区二区久久婷婷| 欧美电视剧免费全集观看| 精品国产sm最大网站免费看| 国产日产欧美精品一区二区三区| 国产欧美日韩亚州综合 | 日本韩国视频一区二区| 欧美色网站导航| 欧美成人三级电影在线| 国产精品日产欧美久久久久| 亚洲女女做受ⅹxx高潮| 美女久久久精品| 成人国产精品免费| 精品久久久久久久久久久院品网|