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

PHP實現(xiàn)超簡單的SSL加密解密、驗證及簽名的方法示例

 更新時間:2017年08月28日 09:55:46   作者:zwcwu31  
這篇文章主要介紹了PHP實現(xiàn)超簡單的SSL加密解密、驗證及簽名的方法,結合實例形式分析了php基于openssl相關函數(shù)的簽名、加密、解密、驗證等操作技巧,需要的朋友可以參考下

本文實例講述了PHP實現(xiàn)超簡單的SSL加密解密、驗證及簽名的方法。分享給大家供大家參考,具體如下:

1. sign簽名代碼:

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

2. verify 驗證代碼:

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

3. 解密代碼

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

PS:關于加密解密感興趣的朋友還可以參考本站在線工具:

文字在線加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password

在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php加密方法總結》、《PHP編碼與轉碼操作技巧匯總》、《PHP數(shù)學運算技巧總結》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結》、《PHP數(shù)據(jù)結構與算法教程》、《php程序設計算法總結》及《php正則表達式用法總結

希望本文所述對大家PHP程序設計有所幫助。

相關文章

最新評論