欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP下SSL加密解密、驗(yàn)證、簽名方法(很簡(jiǎn)單)

 更新時(shí)間:2020年06月28日 09:29:53   投稿:lijiao  
這篇文章主要介紹了PHP下SSL加密解密、驗(yàn)證、簽名方法,方法很簡(jiǎn)單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

超級(jí)簡(jiǎn)單,依賴于OpenSSL擴(kuò)展,這里就不多廢話了,直接奉上代碼

簽名:

function sign($data) {
 //讀取私鑰文件
 $priKey = file_get_contents('key/rsa_private_key.pem');
 
 //轉(zhuǎn)換為openssl密鑰,必須是沒(méi)有經(jīng)過(guò)pkcs8轉(zhuǎn)換的私鑰
 $res = openssl_get_privatekey($priKey);
 
 //調(diào)用openssl內(nèi)置簽名方法,生成簽名$sign
 openssl_sign($data, $sign, $res);
 
 //釋放資源
 openssl_free_key($res);
 
 return $sign;
}

驗(yàn)證:

function verify($data, $sign) {
 //讀取支付寶公鑰文件
 $pubKey = file_get_contents('key/alipay_public_key.pem');
 
 //轉(zhuǎn)換為openssl格式密鑰
 $res = openssl_get_publickey($pubKey);
 
 //調(diào)用openssl內(nèi)置方法驗(yàn)簽,返回bool值
 $result = (bool)openssl_verify($data, $sign, $res);
 
 //釋放資源
 openssl_free_key($res);
 
 return $result;

解密

function decrypt($content) {
 
 //讀取商戶私鑰
 $priKey = file_get_contents('key/rsa_private_key.pem');
 
 //轉(zhuǎn)換為openssl密鑰,必須是沒(méi)有經(jīng)過(guò)pkcs8轉(zhuǎn)換的私鑰
 $res = openssl_get_privatekey($priKey);
 
 //聲明明文字符串變量
 $result = '';
 
 //循環(huán)按照128位解密
 for($i = 0; $i < strlen($content)/128; $i++ ) {
 $data = substr($content, $i * 128, 128);
  
 //拆分開(kāi)長(zhǎng)度為128的字符串片段通過(guò)私鑰進(jìn)行解密,返回$decrypt解析后的明文
 openssl_private_decrypt($data, $decrypt, $res);
 
 //明文片段拼接
 $result .= $decrypt;
 }
 
 //釋放資源
 openssl_free_key($res);
 
 //返回明文
 return $result;
}

希望本文所述對(duì)大家學(xué)習(xí)php程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論