A. 用php如何實現數字簽名啊··跪求高人指點···
以下是資料:
php中數字簽名與校驗
1. 先用php生成一對公鑰和私鑰
$res = openssl_pkey_new();
openssl_pkey_export($res,$pri);
$d= openssl_pkey_get_details($res);
$pub = $d['key'];
var_mp($pri,$pub);
輸出依次為私鑰和公鑰的pem字串,如:
string(916) "-----BEGIN PRIVATE KEY-----
wsETi80b4ZyYlYUSsAtvS7ZG+GSLAox24TKNwWIy5cUdKfK/5QEJjZ0S8LjRSYCG
+8z
+st3fjEblEfcPcoIq5uiKx2bnO3
f9g0yt+
+UI8OhmLbw/Vyh6Ii1glwMfyq
VS2lAakj9d1hqLYZvw+eNeZBnzZNPuMJg5aj/WKUqasCQQDHiFLS7Yb1rbhfjmRt
ZL4zXuvX1hVjTNo2TeZwPniGpYa+QHcauDDep5C9q//n+D+ZtkbkECxpOVhrUHSI
+
+a2epF/YENEtjL6N2RE8Y+0oTdlwr
b4dQkRkfqCHtyrWOeRcC1Y6FyTfNj+cRBzdIcmFc21hxj6HKy2M6/XGI3rAE5L+B
mmlSmN1enhoCUqc=
-----END PRIVATE KEY-----
"
string(272) "-----BEGIN PUBLIC KEY-----
+Y4dUMLBE4vNG+Gc
+UBCY2dEvC40UmAhraPS5MEE0Ky
mPAQV1QkEEt1V0as+KJ/W5nBksizCur0MbfTZyaZOmgZiRO89+fvM00y8HVG2GjA
HGKq7GA34AUjQYMGwwIDAQAB
-----END PUBLIC KEY-----
"
2. 保存好自己的私鑰,把公鑰可以公開給別人。如果需要對某數據進行簽名,證明那數據是從你這里發出的,就需要用私鑰:
$res = openssl_pkey_get_private($pri);
if (openssl_sign('hello', $out, $res))
var_mp(base64_encode($out));
上例中 $pri 為自己的私鑰,'hello' 為待簽名的數據,如果簽名成功,最後輸出為base64編碼後的簽名,如:
j19H+C/NQEcyowezOQ+gmGi2UoPJNXyJ+/p/pp7il+xGz2aUWdOXkJFgIc/+ieokMLFm9cmtN2hGag9vq1s=
3. 別人收到你的數據 'hello' 和簽名字串,想驗證這是從你發來的數據的話,用你公開的公鑰驗證:
$sig = base64_decode($sig);
$res = openssl_pkey_get_public($pubkey);
if (openssl_verify('hello', $sig, $res) === 1)
; // 通過驗證
上例中剛開始的 $sig 為之前你base64編碼過的簽名, $pubkey 為你的公鑰
php中這種簽名使用的是RSA演算法;數字簽名可以在 單點登錄 等系統中派上用場。
B. php如何做數字簽名
概括就是:「學會用PHP的openssl擴展!!」
1、先用openssl_pkey_new()函數產生一個私鑰pri_key,
2、用openssl_csr_new()函數以私鑰pri_key 產生一個信用證csr
3、用openssl_sign()函數以私鑰pri_key對一段數據data產生一個數字簽名signature。
4、用openssl_pkey_get_public()函數從信用證csr中獲得公鑰pub_key
5、把公鑰pub_key、數字簽名signature、數據data發給對方。
6、對方收到3項後,用openssl_verify()函數或其他驗證工具,驗證簽名。
7、對方驗證有效,開始使用你的信息data。驗證無效,再找你扯皮。
整個過程的雙方可以互換,即可讓對方出具三項,你來驗證。
C. 請問大家 .電子簽名法 的定義是什麼
什麼是電子簽名?
《電子簽名法》中明確規定:電子簽名是指數據電文中以電子形式所含、所附用於識別簽名人身份並表明簽名人認可其中內容的數據。而數據電文是指以電子、光學、磁或者類似手段生成、發送、接收或者儲存的信息。
這部法律規定、可靠的電子簽名與手寫簽名或者蓋章具有同等的法律效力,屆時消費者可用手寫簽名、公章的「電子版」、秘密代號、密碼或指紋、聲音、視網膜結構等安全地在網上「付錢」、「交易」及「轉帳」。
http://ke..com/lemma-php/dispose/view.php/15288.htm
D. 如何進行電子簽名
第一步
要在正規的第三方電子平台上簽署。電子簽約與傳統的紙質簽約不同,是在網路上簽署的,所以是必須要在第三方電子平台上簽署才行。國內電子平台諸多,放心簽是被廣大企業所信賴的一個,企業在放心簽簽署的時候還會辦法相對於的電子證書,以便於保障電子簽章的真實性與安全性。
第二步
需要進行實名認證。當下是網路化逐漸真實的環境,因此用戶在進行電子簽章的時候需要進行實名認證,證實其真實性。放心簽在進行實名認證的時候會有手機號認證、銀行卡認證、刷臉認證、手持身份證認證等多種方式,為用戶提供了安全保障措施,讓用戶在使用的時候用的安心。
第三步
創建專屬的電子簽名。當用戶在第三方電子平台通過實名認證之後,便可以創建專屬於自己的電子簽章了,這個電子簽章會以數據電文的形式保存在第三方電子簽名平台。在創建自己的電子簽章的時候,可以在第三方電子簽名平台設置手寫簽名,也可以使用系統生成的電子簽名,多種方式可以選擇。
E. php 做app 簽名驗證怎麼做
自己寫一套加密的演算法,最好用到RSA,APP端給公鑰加密數據,伺服器端PHP使用私鑰解密
F. php實現簽名,手頭上有中行提供的pfx文件,進行簽名後傳遞給java做簽名驗證,請大神幫忙。
把問題難點和細節發到[email protected]
可以幫你看看的
用1,生成信用證,php中中簽名數據傳給java,
謹慎操作應該無誤的。
G. PHP+JS如何實現網上簽名功能
通過 js canvas給用戶進行簽名,提交時候生成圖片/base64.
PHP接收圖片/base64保存到伺服器對應路徑,把路徑入庫.
H. 電子簽名怎麼弄
步驟如下:
工具:Magicbook。
操作系統:Windows 10。
軟體:PDF閱讀器。
1、在紙上寫下需要的電子簽名,並將簽名使用相機或者掃描儀製成圖片。
I. 電子簽名是什麼
《電子簽名法》中,電子簽名的定義是「數據電文中以電子形式所含、所附用於識別簽名人身份並表明簽名人認可其中內容的數據。通過技術手段實現傳統的紙面簽字或者蓋章的功能,以確認交易當事人的真實身份,保證交易的安全性、真實性和不可抵賴性」。
J. 如何電子簽名怎麼弄
1、在紙上寫下需要的電子簽名,並將簽名使用相機或者掃描儀製成圖片。