RsaServer.class.php 739 B

123456789101112131415161718192021
  1. <?php
  2. namespace Common\Server;
  3. class RsaServer
  4. {
  5. //rsa加密响应字段
  6. public function rsa_encrypt($str, $public_key) {
  7. $pu_key = openssl_pkey_get_public(file_get_contents($public_key)); //读取公钥内容
  8. $encryptedBlock = '';
  9. $encrypted = '';
  10. // 用标准的RSA加密库对敏感信息进行加密,选择RSA_PKCS1_OAEP_PADDING填充模式
  11. // (eg:Java的填充方式要选 " RSA/ECB/OAEPWITHSHA-1ANDMGF1PADDING")
  12. // 得到进行rsa加密并转base64之后的密文
  13. openssl_public_encrypt($str, $encryptedBlock, $pu_key, OPENSSL_PKCS1_OAEP_PADDING);
  14. $str_base64 = base64_encode($encrypted . $encryptedBlock);
  15. return $str_base64;
  16. }
  17. }