PHP下SSL加密解密、驗(yàn)證、簽名方法(很簡(jiǎn)單)
超級(jí)簡(jiǎn)單,依賴(lài)于OpenSSL擴(kuò)展,這里就不多廢話(huà)了,直接奉上代碼
簽名:
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) {
//讀取商戶(hù)私鑰
$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ì)有所幫助。
- php實(shí)現(xiàn)生成PDF文件的方法示例【基于FPDF類(lèi)庫(kù)】
- PHP中使用Imagick讀取pdf并生成png縮略圖實(shí)例
- 使用PHP把HTML生成PDF文件的幾個(gè)開(kāi)源項(xiàng)目介紹
- PHP實(shí)現(xiàn)HTML生成PDF文件的方法
- PHP在網(wǎng)頁(yè)中動(dòng)態(tài)生成PDF文件詳細(xì)教程
- PHP中使用TCPDF生成PDF文檔實(shí)例
- php FPDF類(lèi)庫(kù)應(yīng)用實(shí)現(xiàn)代碼
- PHP中使用imagick實(shí)現(xiàn)把PDF轉(zhuǎn)成圖片
- PHP實(shí)現(xiàn)在線閱讀PDF文件的方法
- PHP使用MPDF類(lèi)生成PDF的方法
- php 生成簽名及驗(yàn)證簽名詳解
- php實(shí)現(xiàn)往pdf中加數(shù)字簽名操作示例【附源碼下載】
相關(guān)文章
PHP 將dataurl轉(zhuǎn)成圖片image方法總結(jié)
這篇文章主要介紹了PHP 將dataurl轉(zhuǎn)成圖片image方法的相關(guān)資料,這里提供了兩種方法及實(shí)現(xiàn)方式,需要的朋友可以參考下2016-10-10
php編寫(xiě)的mysqli增刪改查數(shù)據(jù)庫(kù)操作類(lèi)示例
這篇文章主要為大家介紹了php編寫(xiě)的mysqli增刪改查數(shù)據(jù)庫(kù)操作類(lèi)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
php-fpm超時(shí)時(shí)間設(shè)置request_terminate_timeout資源問(wèn)題分析
之前發(fā)現(xiàn)一個(gè)php配置之后關(guān)于返回500和502的問(wèn)題,今天看到一個(gè)兄弟寫(xiě)的非常不錯(cuò),記錄一下2019-09-09
PHP FOR MYSQL 代碼生成助手(根據(jù)Mysql里的字段自動(dòng)生成類(lèi)文件的)
根據(jù) Mysql里的字段自動(dòng)生成類(lèi)文件的實(shí)現(xiàn)代碼,學(xué)習(xí)php的朋友可以參考下。2011-07-07
PHP7基于curl實(shí)現(xiàn)的上傳圖片功能
這篇文章主要介紹了PHP7基于curl實(shí)現(xiàn)的上傳圖片功能,結(jié)合實(shí)例形式對(duì)比分析了php5.5之前與php7版本的curl圖片上傳功能相關(guān)實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2018-05-05
php 智能404跳轉(zhuǎn)代碼,適合換域名沒(méi)改變目錄的網(wǎng)站
適合于換域名,但是目錄沒(méi)有改變的網(wǎng)站.也可以用做301定向.轉(zhuǎn)自于落伍,收集過(guò)來(lái).怕以后需要.需要的兄弟直接copy過(guò)去即可.2010-06-06

