Base64编码的Security Credential字符串,使用公钥加密

时间:2018-03-19 17:47:47

标签: php encryption rsa

我正在开发一种需要加密安全凭证的API。我没有做任何加密。

通过使用公钥X509证书加密base64编码密码来生成安全凭证。

生成安全凭证的算法如下: 将未加密的密码写入字节数组。 使用公钥证书加密阵列。使用RSA算法,并使用PKCS#1.5填充(不是OAEP),并将结果添加到加密流。 使用base64编码将生成的加密字节数组转换为字符串。生成的base64编码字符串是安全凭证。

任何人都可以帮助我在php中实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

我能得到答案;

<?php 
function EncryptData($source) 
{ 
  $fp=fopen("path/to/cert.cer","r"); 
  $pub_key=fread($fp,8192); 
  fclose($fp); 
  $key_resource = openssl_get_publickey($pub_key); 

  openssl_public_encrypt($source,$crypttext, $key_resource ); 
  /*uses the already existing key resource*/ 
  return(base64_encode($crypttext)); 
  //echo base64_encode($crypttext);
}

echo EncryptData($pass); 
?>