亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php和openssl實現非對稱加密的代碼示例

2020-03-22 19:27:42
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于php和openssl實現非對稱加密的代碼示例,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

 ?phpnamespace MyObjSummary; * 使用openssl實現非對稱加密html' target='_blank'>class Rsa * 私鑰 private $_privKey; * 公鑰 private $_pubKey; /** 保存文件地址 * @var private $_keyPath; /** 公鑰 * @var string private $_pubKeyLink = -----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCF4sz1eu4XgLeIK9Aiu4+rfgltk1gmNhUytOtk3kbzPoy2XoR5sQIRXBYnIagwBVOLPWDacVJoqjfeK6xGvL17745uZ7RubcZIW62ocgX3swIDAQAB-----END PUBLIC KEY-----  /**私鑰 * @var string private $_priKeyLink = -----BEGIN RSA PRIVATE KEY-----MIICXAIBAAKBgQCF4sz1eu4XgLeIK9Aiu4+rfgltk1gmNhUytOtk3kbzPoy2XoR5sQIRXBYnIagwBVOLPWDacVJoqjfeK6xGvL17745uwNSw3eKLl1qm+w2z5KhNEnpgLWxKxSPMfekt1Aj3Te0Ct652Scr42Coca/ld2mGkZ7RubcZIW62ocgX3swIDAQABAoGAHinbvU6Fx5vDPZWJXdnd42gQ3bP9fxZeLj9ebSo61+B2uTuQIw6DBcA2aXiGuNLqYItif7RaOaRn09EJDiLFmYwRBXAGnEdSnxWRy/IMrtKATV+dLnyFDVrIzsn+/9l3HQXKhlSqTc4v7o1sWAM9GW2vjB3X432BjzbgqCyplOECQQC7UnvQUZYT+sumPStREJt85krUKgeFwyQdji+BdAXhv9xz3PiSWsAvw87zFrpBKcWbTimSH38onKGahtuYE08xAkEAtvjx7t05TiVusPcsgABxoABKRKZpcY5QQIXTT3oigvCMuz41nBDmEXeot+TXBGwG0QNS7p5BwkrXfCFJJONkIwJAUbcItfZxPqQAJLO4arOQ8KpRaD4xa+OVpKL7DEC9tB4LICv773RRNET5yUdX1sdPIZG2Rr0grmmtgYhk0PFTcQJBAI8Iuv2VL3fMBI4SGWWN/LPSeZkUdPbh0GmRCSo4nPOfxK8=-----END RSA PRIVATE KEY-----  * Rsa constructor. * @param string $path public function __construct($path= ) if (!empty($path)) { $this- _keyPath = $path; * 創建公鑰和私鑰 public function createKey() $config = [ config = D:/Min/Install/wamp/wamp64/bin/php/php5.6.25/extras/ssl/openssl.cnf , digest_alg = sha512 , private_key_bits = 4096, private_key_type = OPENSSL_KEYTYPE_RSA, // 生成私鑰 $rsa = openssl_pkey_new($config); openssl_pkey_export($rsa, $privKey, NULL, $config); file_put_contents($this- _keyPath . DIRECTORY_SEPARATOR . priv.key , $privKey); $this- _privKey = openssl_pkey_get_public($privKey); // 生成公鑰 $rsaPri = openssl_pkey_get_details($rsa); $pubKey = $rsaPri[ key  file_put_contents($this- _keyPath . DIRECTORY_SEPARATOR . pub.key , $pubKey); $this- _pubKey = openssl_pkey_get_public($pubKey); /** 設置私鑰 * @return bool public function setupPrivKey() if (is_resource($this- _privKey)) { return true; //從文件中獲取 /*$file = $this- _keyPath . DIRECTORY_SEPARATOR . priv.key  $privKey = file_get_contents($file);*/ $privKey = $this- _priKeyLink; $this- _privKey = openssl_pkey_get_private($privKey); return true; /** 設置公鑰 * @return bool public function setupPubKey() //從文件中獲取 /*$file = $this- _keyPath . DIRECTORY_SEPARATOR . pub.key  $pubKey = file_get_contents($file);*/ //數據源 $pubKey = $this- _pubKeyLink; $this- _pubKey = openssl_pkey_get_public($pubKey); return true; /** 用私鑰加密 * @param $data * @return null|string public function privEncrypt($data) if (!is_string($data)) { return null; $this- setupPrivKey(); $result = openssl_private_encrypt($data, $encrypted, $this- _privKey); if ($result) { return base64_encode($encrypted); return null; /** 私鑰解密 * @param $encrypted * @return null public function privDecrypt($encrypted) if (!is_string($encrypted)) { return null; $this- setupPrivKey(); $encrypted = base64_decode($encrypted); $result = openssl_private_decrypt($encrypted, $decrypted, $this- _privKey); if ($result) { return $decrypted; return null; /** 公鑰加密 * @param $data * @return null|string public function pubEncrypt($data) if (!is_string($data)) { return null; $this- setupPubKey(); $result = openssl_public_encrypt($data, $encrypted, $this- _pubKey); if ($result) { return base64_encode($encrypted); return null; /** 公鑰解密 * @param $crypted * @return null public function pubDecrypt($crypted) if (!is_string($crypted)) { return null; $this- setupPubKey(); $crypted = base64_decode($crypted); $result = openssl_public_decrypt($crypted, $decrypted, $this- _pubKey); if ($result) { return $decrypted; return null; /** 私鑰簽名 * @param $data * @return string public function priKeySign($data) if(!is_string($data)) return null; $private_key=openssl_get_privatekey($this- _priKeyLink); $original_str= $data ;//原數據 openssl_sign($original_str,$sign,$private_key); openssl_free_key($private_key); $sign=base64_encode($sign);//最終的簽名 return $sign ; /** 公鑰驗簽 * @param $sign * @param $data * @return bool public function pubKeyCheck($sign,$data) if(!is_string($sign) || !is_string($data)) return null; $public_key=openssl_get_publickey($this- _pubKeyLink); $sign=base64_decode($sign);//得到的簽名 $original_str=$data; $result=(bool)openssl_verify($original_str,$sign,$public_key); openssl_free_key($public_key); return $result ; * __destruct public function __destruct() { @fclose($this- _privKey); @fclose($this- _pubKey);$rsa = new Rsa();echo openssl_private_encrypt,openssl_public_decrypt , br / //私鑰加密,公鑰解密echo 私鑰加密,公鑰驗簽 , br / echo 待加密數據:testInfo , br / $pre = $rsa- privEncrypt( testInfo echo 加密后的密文: br / . $pre . br / $pud = $rsa- pubDecrypt($pre);echo 解密后數據: . $pud . br / echo hr 
echo openssl_public_encrypt,openssl_private_decrypt , br / echo 公鑰加密,私鑰驗簽 , br / echo 待加密數據:ssh-test , br / $pue = $rsa- pubEncrypt( ssh-test echo 加密后的密文: , br / . $pue . br / $prd = $rsa- privDecrypt($pue);echo 解密后數據: . $prd;echo hr echo hr echo openssl_sign,openssl_verify , br / echo 私鑰簽名,公鑰驗簽 , br / echo 待加密數據:test=32 , br / $pre = $rsa- priKeySign( test=32 echo 加密后的密文: , br / . $pre . br / $pud = $rsa- pubKeyCheck($pre, test=32 echo 是否解密成功: . $pud . br / echo hr

以上就是php和openssl實現非對稱加密的代碼示例的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
韩国欧美亚洲国产| 日韩专区在线播放| 国产999视频| 亚洲精品理论电影| 中文字幕在线精品| 欧美色道久久88综合亚洲精品| 国产美女被下药99| 欧美日韩一区二区三区| 亚洲精品久久视频| 亚洲第一区在线| 欧美猛交ⅹxxx乱大交视频| 国产精品日本精品| 91精品久久久久久久久不口人| 中文字幕欧美国内| 91九色国产社区在线观看| 欧美精品videossex88| 日韩电影免费在线观看中文字幕| 欧美猛少妇色xxxxx| 欧美夫妻性生活视频| 久久免费少妇高潮久久精品99| 久久久爽爽爽美女图片| 91亚洲人电影| 日韩在线观看av| 欧美激情喷水视频| 国产成+人+综合+亚洲欧美丁香花| 亚洲免费精彩视频| 欧美日韩亚洲一区二区三区| 91久久嫩草影院一区二区| 一级做a爰片久久毛片美女图片| 午夜伦理精品一区| 亚洲伊人久久综合| 日韩高清电影免费观看完整版| 深夜成人在线观看| 国产精品v日韩精品| 中文字幕视频在线免费欧美日韩综合在线看| 国产精品视频成人| 亚洲国产精久久久久久久| 国产精品海角社区在线观看| 亚洲国产精品资源| 久久亚洲精品一区| 国产精品白丝av嫩草影院| 亚洲欧美日韩高清| 亚洲欧美在线第一页| 欧美视频专区一二在线观看| 国产一区二区日韩精品欧美精品| 国产视频精品自拍| 久久99热这里只有精品国产| 国产精品2018| 欧美第一黄色网| 黄色成人在线免费| 成人福利视频在线观看| 搡老女人一区二区三区视频tv| 国产日韩欧美在线| 91精品国产色综合| 欧美大尺度激情区在线播放| 亚洲xxx自由成熟| 精品久久久久久久久久久| 国产精品第七十二页| 精品久久久久久久久中文字幕| 欧美黄色免费网站| 日韩高清电影免费观看完整版| 91豆花精品一区| 国产日韩欧美在线视频观看| 亚洲国产高清高潮精品美女| 亚洲福利视频免费观看| 国产精品伦子伦免费视频| 久久五月情影视| 欧美一区二区影院| 欧美日韩国产成人在线| 2019av中文字幕| 中文字幕日韩av综合精品| 国产精品久久久久免费a∨| 国产日韩在线亚洲字幕中文| 久久亚洲精品网站| 国产日韩欧美中文在线播放| 亚洲a一级视频| 清纯唯美亚洲激情| 国产日韩精品综合网站| 久久中文精品视频| 欧美激情视频在线观看| 最近的2019中文字幕免费一页| 亚洲国产精品电影在线观看| 午夜剧场成人观在线视频免费观看| 国产日韩欧美91| 久久久久久久亚洲精品| 国产精品日日摸夜夜添夜夜av| 国产精品久久久久久久app| 亚洲图片欧美午夜| 欧美黑人性视频| 久久天天躁狠狠躁夜夜爽蜜月| 国产激情久久久| 97福利一区二区| 秋霞av国产精品一区| 51精品在线观看| 蜜月aⅴ免费一区二区三区| 欧美日韩一区二区免费视频| 久久久999国产精品| 91在线网站视频| 国产精品日韩在线一区| 最近2019免费中文字幕视频三| 伊人亚洲福利一区二区三区| 夜夜嗨av色综合久久久综合网| 日韩高清电影免费观看完整版| 国产精品久久久久久久久影视| 亚洲色图13p| 欧美激情视频三区| 国产精品白丝jk喷水视频一区| 成人国内精品久久久久一区| 国产日韩在线一区| 亚洲人精品午夜在线观看| 欧美激情一级欧美精品| 欧洲亚洲妇女av| 日韩免费在线免费观看| 欧美性猛交xxxx黑人猛交| 国产日韩欧美日韩大片| 国产精品久久久久久中文字| 免费99精品国产自在在线| 欧美一二三视频| 日韩电影中文 亚洲精品乱码| 亚洲a成v人在线观看| 日本久久久久久久久| 亚洲欧美中文日韩在线v日本| 粉嫩av一区二区三区免费野| 日本韩国欧美精品大片卡二| 国产精品永久免费观看| 孩xxxx性bbbb欧美| 国产精品久久久av久久久| 国产亚洲精品久久| 国产精品欧美风情| 在线精品91av| www国产亚洲精品久久网站| 久久艳片www.17c.com| 国内外成人免费激情在线视频网站| 国产日本欧美在线观看| 久久五月情影视| 国产精品va在线播放我和闺蜜| 亚洲香蕉成视频在线观看| 国产精品国产三级国产专播精品人| 成人免费网站在线观看| 奇米影视亚洲狠狠色| 欧美激情免费视频| 亚洲欧美中文日韩在线v日本| 中文字幕久久精品| 国产精品福利在线观看网址| 懂色av一区二区三区| 久久久久久九九九| 精品视频久久久久久久| 国产精品视频xxx| 中文字幕日韩在线播放| 国外成人在线直播| 欧美中文字幕在线观看| 成人免费视频在线观看超级碰| 欧美精品久久久久久久| 日韩av中文字幕在线免费观看| 中文字幕欧美日韩| 91精品国产高清久久久久久| 不卡av在线播放| 久久99视频免费| 中文字幕亚洲激情| 亚洲第一区中文字幕| 成人性教育视频在线观看| 午夜精品免费视频| 在线成人一区二区| 国产69精品久久久久9999|