您当前的位置:首页 > PHP 网站首页PHP
PHP 加密方式方法之RSA加解密
转载请注明出处:黄桂林的博客 huangguilin.com
该RSA加解密方法为对称加密
<?php
class RsaModel{
const PRIVATE_KEY_FILE_PATH = './rsa_private_key.pem';
const PUBLIC_KEY_FILE_PATH = './rsa_public_key.pem';
public static function encrypt($orignData) {
//密钥文件的路径
$privateKeyFilePath = self::PRIVATE_KEY_FILE_PATH;
extension_loaded('openssl') or die('php需要openssl扩展支持');
(file_exists($privateKeyFilePath)) or die('密钥的文件路径不正确');
//生成Resource类型的密钥,如果密钥文件内容被破坏,openssl_pkey_get_private函数返回false
$privateKey = openssl_pkey_get_private(file_get_contents($privateKeyFilePath));
($privateKey) or die('密钥不可用');
//加密以后的数据,用于在网路上传输
$encryptData = '';
///////////////////////////////用私钥加密////////////////////////
if (openssl_private_encrypt($orignData, $encryptData, $privateKey)) {
return $encryptData;
} else {
return "a";
}
}
public static function decrypt($encryptData) {
//公钥文件的路径
$publicKeyFilePath = self::PUBLIC_KEY_FILE_PATH;
extension_loaded('openssl') or die('php需要openssl扩展支持');
(file_exists($publicKeyFilePath)) or die('公钥的文件路径不正确');
//生成Resource类型的公钥,如果公钥文件内容被破坏,openssl_pkey_get_public函数返回false
$publicKey = openssl_pkey_get_public(file_get_contents($publicKeyFilePath));
($publicKey) or die('公钥不可用');
//解密以后的数据
$decryptData = '';
///////////////////////////////用公钥解密////////////////////////
if (openssl_public_decrypt($encryptData, $decryptData, $publicKey)) {
return $decryptData;
} else {
return "a";
}
}
}
?>
创建公钥私钥publik.key private.key
转载请注明出处:黄桂林的博客转载请注明出处:黄桂林的博客
上一篇:推荐一些国内的 jQuery CDN 免费服务 Tags: jQuery js javascript cdn
下一篇:使用ngx_lua记录nginx的Response Tags: nginx lua log nginx响应日志 nginx response