/**获取私钥是否可用
* @return bool
*/
public function isPrivateKey()
{
if ( !openssl_pkey_get_private( $this -> privateKey ) ) {
return false;
}
return true;
}
/**获取公钥是否可用
* @return bool
*/
public function isPublicKey()
{
if ( !openssl_pkey_get_public( $this -> publicKey ) ) {
return false;
}
return true;
}
/**
* @param $str
* @param string $encrypt_data
*
* @return string
*/
public function publicKeyEncrypt( $str , $encrypt_data = '' )
{
openssl_public_encrypt( $str , $encrypt_data , $this -> publicKey );
return base64_encode( $encrypt_data );
}
/**
* @param $cipherText
* @param string $decrypted
*
* @return string
*/
public function privateKeyDecrypt( $cipherText , $decrypted = '' )
{
$cryptData = base64_decode( $cipherText );
openssl_private_decrypt( $cryptData , $decrypted , $this -> privateKey );
return $decrypted;
}
/**将字符串格式公私钥格式化为pem格式公私钥
*
* @param $key
* @param string $type
*
* @return string
*/
public static function stringToSecretKey( $key , $type = '' )
{
// 64个英文字符后接换行符"\n",最后再接换行符"\n"
$k = empty( $type ) ? "-----BEGIN PUBLIC KEY-----\n" : "-----BEGIN RSA PRIVATE KEY-----\n";
foreach ( str_split( $key , 64 ) as $str ) {
$k .= $str . "\n";
}
$k .= empty( $type ) ? "-----END PUBLIC KEY-----" : "-----END RSA PRIVATE KEY-----";
return $k;
}
php中rsa加密解密
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 先点击这里查看http://www.cnblogs.com/guola/archive/2012/10/30/27...
- 转自:http://blog.csdn.net/clh604/article/details/20224735# ...
- OpenSSL readme ======================================= 先学...