我正在开发一种需要加密安全凭证的API。我没有做任何加密。
通过使用公钥X509证书加密base64编码密码来生成安全凭证。
生成安全凭证的算法如下: 将未加密的密码写入字节数组。 使用公钥证书加密阵列。使用RSA算法,并使用PKCS#1.5填充(不是OAEP),并将结果添加到加密流。 使用base64编码将生成的加密字节数组转换为字符串。生成的base64编码字符串是安全凭证。
任何人都可以帮助我在php中实现这一目标吗?
答案 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);
?>