国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > 幫助中心 > 正文

PHP實(shí)現(xiàn)RSA加解密算法示例(生成密鑰位數(shù)為1024位的方法)

2024-07-09 22:41:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

大家可以先到http://web.chacuo.net/netrsakeypair這個(gè)網(wǎng)站,在線生成公鑰和私鑰

RSA非對(duì)稱(chēng)加密算法,如果是公鑰加密,就得用私鑰解密,反過(guò)來(lái)也一樣,私鑰加密的就用公鑰解密,以下是相關(guān)實(shí)現(xiàn)函數(shù)

/** * RSA私鑰加密 * @param string $private_key 私鑰 * @param string $data 要加密的字符串 * @return string $encrypted 返回加密后的字符串 * @author mosishu */function privateEncrypt($private_key,$data){ $encrypted = ''; $pi_key = openssl_pkey_get_private($private_key);//這個(gè)函數(shù)可用來(lái)判斷私鑰是否是可用的,可用返回資源id Resource id //最大允許加密長(zhǎng)度為117,得分段加密 $plainData = str_split($data, 100);//生成密鑰位數(shù) 1024 bit key foreach($plainData as $chunk){  $partialEncrypted = '';  $encryptionOk = openssl_private_encrypt($chunk,$partialEncrypted,$pi_key);//私鑰加密  if($encryptionOk === false){   return false;  }  $encrypted .= $partialEncrypted; }  $encrypted = base64_encode($encrypted);//加密后的內(nèi)容通常含有特殊字符,需要編碼轉(zhuǎn)換下,在網(wǎng)絡(luò)間通過(guò)url傳輸時(shí)要注意base64編碼是否是url安全的 return $encrypted;}
/** * RSA公鑰解密(私鑰加密的內(nèi)容通過(guò)公鑰可以解密出來(lái)) * @param string $public_key 公鑰 * @param string $data 私鑰加密后的字符串 * @return string $decrypted 返回解密后的字符串 * @author mosishu */function publicDecrypt($public_key,$data){ $decrypted = ''; $pu_key = openssl_pkey_get_public($public_key);//這個(gè)函數(shù)可用來(lái)判斷公鑰是否是可用的 $plainData = str_split(base64_decode($data), 128);//生成密鑰位數(shù) 1024 bit key foreach($plainData as $chunk){  $str = '';  $decryptionOk = openssl_public_decrypt($chunk,$str,$pu_key);//公鑰解密  if($decryptionOk === false){   return false;  }  $decrypted .= $str; } return $decrypted;}
//RSA公鑰加密function publicEncrypt($public_key,$data){ $encrypted = ''; $pu_key = openssl_pkey_get_public($public_key); $plainData = str_split($data, 100); foreach($plainData as $chunk){  $partialEncrypted = '';  $encryptionOk = openssl_public_encrypt($chunk,$partialEncrypted,$pu_key);//公鑰加密  if($encryptionOk === false){   return false;  }  $encrypted .= $partialEncrypted; } $encrypted = base64_encode($encrypted); return $encrypted;}
//RSA私鑰解密function privateDecrypt($private_key,$data){ $decrypted = ''; $pi_key = openssl_pkey_get_private($private_key); $plainData = str_split(base64_decode($data), 128);  foreach($plainData as $chunk){  $str = '';  $decryptionOk = openssl_private_decrypt($chunk,$str,$pi_key);//私鑰解密  if($decryptionOk === false){   return false;  }  $decrypted .= $str; } return $decrypted;}

以上這篇PHP實(shí)現(xiàn)RSA加解密算法示例(生成密鑰位數(shù)為1024位的方法)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)之家。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 延寿县| 宁城县| 五大连池市| 邳州市| 祁东县| 宝丰县| 中宁县| 平定县| 吴川市| 平江县| 南乐县| 宿松县| 通化县| 噶尔县| 海原县| 上思县| 内乡县| 呼和浩特市| 公主岭市| 谷城县| 西平县| 新平| 织金县| 海伦市| 婺源县| 望谟县| 香格里拉县| 日喀则市| 汾西县| 汉沽区| 松原市| 高邑县| 江安县| 泰顺县| 拜城县| 武平县| 平南县| 岚皋县| 大理市| 平南县| 平南县|