ホームページ >バックエンド開発 >PHPチュートリアル >php openssl_sign() 関数の用途は何ですか?

php openssl_sign() 関数の用途は何ですか?

PHPz
PHPzオリジナル
2016-06-13 11:56:056029ブラウズ

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 に関連付けられた秘密キーを使用して暗号化されたデジタル署名を生成することにより、指定されたデータ入力に署名します。 データ自体は暗号化されないことに注意してください。

パラメータ:

php openssl_sign() 関数の用途は何ですか?

戻り値

成功した場合、または成功した場合は 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);

バージョンサポート

php openssl_sign() 関数の用途は何ですか?

関連知識の詳細については、PHP を参照してください。中国語のウェブサイト! !

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。