当前文章: 首页 >> 编程开发 >> PHP >> PHP使用openssl签名和验签
«    2021年7月    »
1234
567891011
12131415161718
19202122232425
262728293031
网站分类
访客信息
    标签列表
    最近发表
    友站访问排行

      PHP使用openssl签名和验签

      签名:

      //自己的私钥(文件最好使用file://开头的全路径)
      $private_keyid = openssl_pkey_get_private("file:///usr/share/nginx/key/app_private_key.pem");
      //需要签名的内容
      $data = "1234567890";
       
      //开始签名
      if ( true == openssl_sign($data, $signature, $private_keyid) ){
          echo 'sign: ok.</br>';
      }
      else{
          echo 'sign: fall!!!</br>';
      }
      openssl_free_key($private_keyid);
      //一般在php传参时会把签名转换为base64编码
      $signature = base64_encode($signature);


      验签:

      //对方的公钥
      $public_keyid = openssl_pkey_get_public("file:///usr/share/nginx/html/key/app_public_key.pem");
      //把base64的签名解码
      $signature = base64_decode($signature);
       
      //验签
      $ok = openssl_verify($data, $signature, $public_keyid, OPENSSL_ALGO_SHA1);
      if ($ok == 1) {
          echo "valid.</br>";
      } elseif ($ok == 0) {
          echo "invalid!!!</br>";
      } else {
          echo "error: ".openssl_error_string();
      }
      openssl_free_key($public_keyid);


      声明:本站原创文章,转载、复制、使用等请注明出处。
      标题PHP使用openssl签名和验签
      作者jues
      地址: http://blog.jues.org.cn/post/php-shi-yong-openssl-qian-ming-he-yan-qian.html

      发表评论:

      Powered By Z-BlogPHP 1.7.0 Powered By Z-BlogPHP © 2018 jues博客 Copyright Your WebSite.Some Rights Reserved.联系站长 Themes by jues