ホームページ  >  記事  >  バックエンド開発  >  PHP が openssl_verify を使用して署名を検証するサンプル プログラム_PHP チュートリアル

PHP が openssl_verify を使用して署名を検証するサンプル プログラム_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:48:092516ブラウズ

openssl_verify を使用して PHP で署名を検証するサンプル プログラムを見てみましょう。この記事がすべての学生に役立つことを願っています。

コードは次のとおりです コードをコピー


/**

* 署名を確認します

* TobeVerified 署名を検証する暗号文

* PlainText 検証する署名のプレーンテキスト

* CertFile 署名者の公開鍵証明書

* return 検証が成功した場合は true、失敗した場合は false を返します (LastErrMsg 属性から失敗の理由を取得します)

*/
関数 VerifyMsg($TobeVerified, $PlainText, $CertFile,$signature_alg=OPENSSL_ALGO_SHA1)
{


//公開鍵で署名を検証する
$fp=fopen($CertFile,"r"); もし(!$fp)
{

//echo "エラー番号:-10005、エラーの説明: ER_FIND_CERT_FAILED (証明書が見つかりません)"; false を返します
}
$pub_key=fread($fp,8192); fclose($fp); $res = openssl_get_publickey($pub_key); If (1==openssl_verify($PlainText,pack("H" . strlen($TobeVerified), $TobeVerified) , $res,$signature_alg))
{

//print("www.bKjia.c0m のメッセージ: 検証が成功しました。"
");
true を返します
}
それ以外
{

//echo "エラー番号:-10021、エラーの説明: ER_VERIFY_ERROR (署名の検証に失敗しました)|".openssl_error_string(); false を返します
}

}

?>




openssl_verify には 1、0、-1 の 3 つの戻り値があります。1 を返す場合のみ、署名検証が成功したことを示します。

$signature_alg のデフォルトは OPENSSL_ALGO_SHA1 です。DSA 暗号化の場合は、OPENSSL_ALGO_DSS1 に設定する必要があります

http://www.bkjia.com/PHPjc/632817.htmlwww.bkjia.com

tru​​e

技術記事 openssl_verify を使用して PHP で署名を検証するサンプル プログラムを見てみましょう。この記事がすべての学生に役立つことを願っています。 コードは次のとおりです コードをコピー ?php /** * 署名を検証します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。