php生成RSA公钥私钥方法-OPENSSL

一,环境

  windows + php7.2

二,方法实现

  $config = array(
      'config'            =>'D:\php\wwwroot\php\extras\ssl\openssl.cnf',  //安装PHP7会自带这个配置文件
      'digest_alg'        => 'sha256',                 //可以用openssl_get_md_methods() 查看支持的加密方法
      'private_key_bits'     => 2048,
      'private_key_type'     => OPENSSL_KEYTYPE_RSA,
  );
  $res = openssl_pkey_new($config);
  openssl_pkey_export($res, $private_key_pem,null,$config);

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

  echo '<pre>';
  var_dump(array('privKey' => $private_key_pem, 'pubKey' => $public_key_pem));

  

 三,生成的公钥私钥验证

  $data = "PHP";

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

  $r = openssl_verify($data, $signature, $public_key_pem, OPENSSL_ALGO_SHA256);
  var_dump($r);

猜你喜欢

转载自www.cnblogs.com/sblack/p/12120303.html
今日推荐