php生成簽名及驗證簽名

2021-06-01 10:31:11 字數 1210 閱讀 7881

php生成簽名及驗證簽名

余超   [email protected]

啥也不說了,直接上源**:

<?php

/*** 根據原文生成簽名內容

** @param string $data 原文內容

** @return string

* @author confu

*/function sign($data)

$pkcs12 = file_get_contents($filepath);

if (openssl_pkcs12_read($pkcs12, $certs, '讀取證書所需要的密碼')) else

} else

}/**

* 驗證簽名自己生成的是否正確

** @param string $data 簽名的原文

* @param string $signature 簽名

** @return bool

* @author confu

*/function verifysign($data, $signature)

$pkcs12 = file_get_contents($filepath);

if (openssl_pkcs12_read($pkcs12, $certs, '讀取證書所需要的密碼'))

}return false;

}/**

* 驗證返回的簽名是否正確

** @param string $data 要驗證的簽名原文

* @param string $signature 簽名內容

** @return bool

* @author confu

*/function verifyrespondsign($data, $signature)

$fp = fopen($filepath, "r");

$cert = fread($fp, 8192);

fclose($fp);

$pubkeyid = openssl_get_publickey($cert);

if(!is_resource($pubkeyid))

$ok = openssl_verify($data, $signature, $pubkeyid);

if ($ok == 1)

return false;

}?>

php生成簽名及驗證簽名

根據原文生成簽名內容 param string data 原文內容 return string author confu function sign data pkcs12 file get contents filepath if openssl pkcs12 read pkcs12,certs,...

php介面簽名驗證

在做一些api介面設計時候會遇到設定許可權問題,比如我這個介面只有指定的使用者才能訪問。很多時候api介面是屬於無狀態的,沒辦法獲取session,就不能夠用登入的機制去驗證,那麼 大概的思路是在請求包帶上我們自己構造好的簽名,這個簽名必須滿足下面幾點 a 唯一性,簽名是唯一的,可驗證目標使用者 b...

php實現jwt簽名 驗證

composer下有個包,可以用來實現jwt,我們重新包裝下拿來用。1 安裝composer包 composer require firebase php jwt2 編寫乙個jwtservice的類 use firebase jwt jwt class jwtservice public funct...