什麼是rsa2?rsa2是在原來sha1withrsa簽名演算法的基礎上,新增了支援sha256withrsa的簽名演算法。
該演算法在摘要演算法上比sha1withrsa有更強的安全能力。
sha1withrsa的簽名演算法會繼續提供支援,但為了您的應用安全,強烈建議使用sha256withrsa的簽名演算法。
開發平台演算法名稱
標準簽名演算法名稱
備註rsa2
sha256withrsa
(強烈推薦使用),強制要求rsa金鑰的長度至少為2048
rsasha1withrsa
對rsa金鑰的長度不限制,推薦使用2048位以上
那些公司在使用?
建立私鑰、公鑰//生成原始 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用在伺服器端,公鑰發放給android跟ios等前端。
php-rsa2簽名驗證
class
rsa2
/*** 獲取公鑰
* @return bool|resource
*/private static
function
getpublickey()
/*** 建立簽名
* @param string $data 資料
* @return null|string
*/public function
createsign($data = ''
)
return openssl_sign(
$data,
$sign,
self::getprivatekey(),
openssl_algo_sha256
) ? base64_encode($sign) : null;
}/**
* 驗證簽名
* @param string $data 資料
* @param string $sign 簽名
* @return bool
*/public function
verifysign($data = '', $sign = ''
)
return (bool)openssl_verify(
$data,
base64_decode($sign),
self::getpublickey(),
openssl_algo_sha256);}
}複製**
php 呼叫
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 rsa 加密,解密,簽名,驗籤詳解
php rsa 加密,解密,簽名,驗籤 由於對接第三方機構使用的是j a版本的rsa加解密方法,所有剛開始在網上搜到很多php版本的rsa加解密,但是對接j a大多都不適用。以下php版本是適用於對接j a介面,j a適用金鑰再php語言使用是需要新增 begin certificate end c...
BLS簽名演算法
關於bls簽名演算法,最原始的一篇 出自 lynn b short signatures from the weil pairing m advances in cryptology asiacrypt 2001.springer berlin heidelberg,2001.摘要 面向橢圓曲線和超...
RSA和RSA2簽名演算法區別
新建應用只支援rsa2簽名方式,目前已使用rsa簽名方式的應用仍然可以正常呼叫介面,詳情請見開放平台介面簽名方式公升級公告。乙個很好的說明文件可以參考what is a digital signature?中文翻譯可以參考 數字簽名是什麼?簡單來說,簽名主要包含兩個過程 摘要和非對稱加密,首先對需要...