首頁 > 後端開發 > php教程 > php openssl_sign()函数有什么用?

php openssl_sign()函数有什么用?

PHPz
發布: 2020-09-04 17:14:01
原創
6097 人瀏覽過

php openssl_sign()函数用于生成签名;该函数通过使用与$priv_key_id参数关联的私钥生成加密数字签名,为指定的数据输入签名。$priv_key_id是一个由openssl_get_privatekey()返回的密钥。

php openssl_sign()函数有什么用?

php openssl_sign()函数

openssl_sign - 生成签名

语法

openssl_sign( string $data , string &$signature , mixed $priv_key_id [, mixed $signature_alg = OPENSSL_ALGO_SHA1 ] )
登入後複製

openssl_sign() 通过使用与priv_key_id关联的私钥生成加密数字签名,为指定的数据输入签名。 请注意,数据本身未加密。

参数:

1.png

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE。

示例

//data you want to sign
$data = 'my data';

//create new private and public key
$new_key_pair = openssl_pkey_new(array(
        "private_key_bits" => 2048,
        "private_key_type" => OPENSSL_KEYTYPE_RSA,
));
openssl_pkey_export($new_key_pair, $private_key_pem);

$details = openssl_pkey_get_details($new_key_pair);
$public_key_pem = $details['key'];

//create signature
openssl_sign($data, $signature, $private_key_pem, OPENSSL_ALGO_SHA256);

//save for later
file_put_contents('private_key.pem', $private_key_pem);
file_put_contents('public_key.pem', $public_key_pem);
file_put_contents('signature.dat', $signature);

//verify signature
$r = openssl_verify($data, $signature, $public_key_pem, "sha256WithRSAEncryption");
var_dump($r);
登入後複製

版本支持

2.png

更多相关知识,请访问 PHP中文网!!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板