PHP RSA2 簽名算法什么是RSA2?RSA2是在原來SHA1WithRSA簽名算法的基礎上,新增了支持SHA256WithRSA的簽名算法。創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站設計、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的永平網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!該算法在摘要算法上比SHA1WithRSA有更強的安全能力。SHA1WithRSA的簽名算法會繼續(xù)提供支持,但為了您的應用安全,強烈建議使用SHA256WithRSA的簽名算法。開發(fā)平臺算法名稱標準簽名算法名稱備注RSA2SHA256WithRSA(強烈推薦使用),強制要求RSA密鑰的長度至少為2048RSASHA1WithRSA對RSA密鑰的長度不限制,推薦使用2048位以上那些公司在使用?一些大型公司的開發(fā)平臺,比如支付寶、新浪微博。創(chuàng)建私鑰、公鑰//生成原始 RSA私鑰文件openssl genrsa -out rsa_private_key.pem 1024//將原始 RSA私鑰轉換為 pkcs8格式openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out private_key.pem//生成RSA公鑰openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem//我們將私鑰rsa_private_key.pem用在服務器端,公鑰發(fā)放給android跟ios等前端。PHP-RSA2簽名驗證class Rsa2{ private static $PRIVATE_KEY = 'rsa_private_key.pem 內(nèi)容'; private static $PUBLIC_KEY = 'rsa_public_key.pem 內(nèi)容'; /** * 獲取私鑰 * @return bool|resource */ private static function getPrivateKey() { $privKey = self::$PRIVATE_KEY; return openssl_pkey_get_private($privKey); } /** * 獲取公鑰 * @return bool|resource */ private static function getPublicKey() { $publicKey = self::$PUBLIC_KEY; return openssl_pkey_get_public($publicKey); } /** * 創(chuàng)建簽名 * @param string $data 數(shù)據(jù) * @return null|string */ public function createSign($data = '') { if (!is_string($data)) { return null; } return openssl_sign( $data, $sign, self::getPrivateKey(), OPENSSL_ALGO_SHA256 ) ? base64_encode($sign) : null; } /** * 驗證簽名 * @param string $data 數(shù)據(jù) * @param string $sign 簽名 * @return bool */ public function verifySign($data = '', $sign = '') { if (!is_string($sign) || !is_string($sign)) { return false; } return (bool)openssl_verify( $data, base64_decode($sign), self::getPublicKey(), OPENSSL_ALGO_SHA256 ); }}PHP 調(diào)用require_once "Rsa2.php";$rsa2 = new Rsa2();$data = 'my data'; //待簽名字符串$strSign = $rsa2->createSign($data); //生成簽名var_dump($strSign);$is_ok = $rsa2->verifySign($data, $sign); //驗證簽名var_dump($is_ok);推薦學習:《PHP視頻教程》 網(wǎng)頁標題:RSA2是啥?PHP-RSA2簽名驗證怎么實現(xiàn)? 地址分享:http://www.rwnh.cn/article38/cgipsp.html 成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站維護、網(wǎng)站營銷、動態(tài)網(wǎng)站、網(wǎng)站收錄、App設計 廣告 聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
什么是RSA2?
RSA2是在原來SHA1WithRSA簽名算法的基礎上,新增了支持SHA256WithRSA的簽名算法。
該算法在摘要算法上比SHA1WithRSA有更強的安全能力。
SHA1WithRSA的簽名算法會繼續(xù)提供支持,但為了您的應用安全,強烈建議使用SHA256WithRSA的簽名算法。
那些公司在使用?
一些大型公司的開發(fā)平臺,比如支付寶、新浪微博。
創(chuàng)建私鑰、公鑰
//生成原始 RSA私鑰文件openssl genrsa -out rsa_private_key.pem 1024//將原始 RSA私鑰轉換為 pkcs8格式openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out private_key.pem//生成RSA公鑰openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem//我們將私鑰rsa_private_key.pem用在服務器端,公鑰發(fā)放給android跟ios等前端。
PHP-RSA2簽名驗證
PHP 調(diào)用
推薦學習:《PHP視頻教程》
網(wǎng)頁標題:RSA2是啥?PHP-RSA2簽名驗證怎么實現(xiàn)? 地址分享:http://www.rwnh.cn/article38/cgipsp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站維護、網(wǎng)站營銷、動態(tài)網(wǎng)站、網(wǎng)站收錄、App設計
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
網(wǎng)站維護知識
同城分類信息