Skip to content

Commit 183aec8

Browse files
authored
Create example_rsa_nochunk.php
1 parent afc0481 commit 183aec8

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed

examples/example_rsa_nochunk.php

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
<?php
2+
3+
$privateKey = openssl_pkey_new(array(
4+
'private_key_bits' => 2048,
5+
'private_key_type' => OPENSSL_KEYTYPE_RSA,
6+
));
7+
openssl_pkey_export($privateKey, $pkeyout);
8+
9+
$publicKey = openssl_pkey_get_details($privateKey)['key'];
10+
11+
var_dump($privateKey);
12+
var_dump($pkeyout);
13+
var_dump($publicKey);
14+
die;
15+
16+
echo '原始内容: '.$data."\n";
17+
18+
$pubkey = "-----BEGIN PUBLIC KEY-----
19+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1zPb8FxkuL9hxM843X58
20+
4CrHIQr7YtTnbZwhSwbtCs907J3OnNBZbH6GvOQoqQ97JuhCVNSyzYc0CPsWzmc0
21+
3jlpiQiUmvifwYvBu1pZq7FLekEpCPud2fcfzbqcjqYEo7Z9iIt4zqU8y1AMQF+Z
22+
K4HNtJnbNyqPfsTrKIUw9kj0l0HHFstkq6qGhW0+iqsbPDsjY4JDRKP0tiaaXyme
23+
Oy1rr2tzyCmONjkOzlIyw3BobcjjCrpBpjQKXEdWscWJjhD9NobNQ15Oiqa0JzkT
24+
KHj6BlMdgKY8HVmaeRS0u/tbAP3ph29rz72RlmHxe+XpPKOSqfegFTZcpPevhoPM
25+
kwIDAQAB
26+
-----END PUBLIC KEY-----";
27+
$prikey = "-----BEGIN RSA PRIVATE KEY-----
28+
MIIEowIBAAKCAQEA1zPb8FxkuL9hxM843X584CrHIQr7YtTnbZwhSwbtCs907J3O
29+
nNBZbH6GvOQoqQ97JuhCVNSyzYc0CPsWzmc03jlpiQiUmvifwYvBu1pZq7FLekEp
30+
CPud2fcfzbqcjqYEo7Z9iIt4zqU8y1AMQF+ZK4HNtJnbNyqPfsTrKIUw9kj0l0HH
31+
Fstkq6qGhW0+iqsbPDsjY4JDRKP0tiaaXymeOy1rr2tzyCmONjkOzlIyw3Bobcjj
32+
CrpBpjQKXEdWscWJjhD9NobNQ15Oiqa0JzkTKHj6BlMdgKY8HVmaeRS0u/tbAP3p
33+
h29rz72RlmHxe+XpPKOSqfegFTZcpPevhoPMkwIDAQABAoIBAGNYL1ogbObUgp/G
34+
QawObjtVxCM+3JndSxDQmJX4Fol9B68LkovVqtJo/m5IrXSODv4BDk32+qvilGTo
35+
9LhH8KH9wvhdm6yGxcklaUPCC880w3Emj3j0HwS2Dlp8oTVA8rdY0U6thBFxOkVp
36+
KJ63AxCQlZOfyxEGdsPAyAYmplmqr3Q3jlTk74nGJUA9n0ZkX7t010TNXVcS4FTA
37+
3I+1FXYHX4QBw33X2Vj84Ur2dCSG7Lf2GcDXWLDOHyAWAyHEFN7hsGBFph7QTu0J
38+
1dJ4xMqCAn3MyXogIjE8+2dhp/uh4DbzDPnftlmCkbgp+ssTGp893nwmLD+AtZME
39+
2KBNLaECgYEA7fyXVKClr1t39O4E4AbX/LHPCG7fmowNCv1OyPUTN5JTuEx9ZPKW
40+
r5WvBH5LgkBXDqByrd6GpsPA2Yk7SJpaMRlDjorMuXPNS/xYM/v/Wehm5C2Ovztn
41+
sFwLLeOZ3K9gJWGuB5MQrP1+raw4YeOqvhGDeWAwZC872Lh/9uSBSmsCgYEA533J
42+
NYzqWrMRDT9QaOfg8dSgYB/eiGTIeDyqhRogpY3rEWatE48pPaC9iSeZKz/EztYy
43+
mnN9kGy1BfSqCpttqJ06Si8v/wZlAuqzraOuXaZu89DAYWTCSrCk0AXKl6DBOH4H
44+
q9NlxEb1XV4bY1BtFAgBVZpcoVcAckILr3Ne4HkCgYEAprx92hDjhER1euj4CW1C
45+
Dg0VnDbx+nl8+eIXPLxXxmuCtHECuaMs57/bay6BALTLSbgoIKDzfgtQJhj7rBZY
46+
cmXc6xVb8eKsRzx5H5LCiN9Glz9D779TGkCipHf96JwGpKoXH79tw4WnJ06uAgdc
47+
LOZgUr2NqeNd7qz1Gqll3BkCgYBdvd88EztXzUmrbqc2RCggZfUn19/6pa1Um2SG
48+
D+WGhSja3BRcZk3SCgSWxPVOwT0GcVD+oKQJVywbJE+zietnK3xOTDuIb2N6QebO
49+
+wiCHgKyMyekiPPw4QVsw9udeVilcsvSdgGw8Pctfw1iM1BomzFHJAI8x4mDu2EW
50+
BIc4KQKBgFfWOJjLHGGJIZxq4Ib1KwXW3sdZvfR1032o8LxtAhuttSoNVmLrHDMD
51+
RMTjGreucIWtI55/daiTykFa7cfaAVMo/4T/hIETMzgh6YifFKuKMKnwTLyXNGF9
52+
yRFAwtADJ47TdwRzMMp50jPoBBLSwBxoj9rHw5RV4237F1O4f7Iv
53+
-----END RSA PRIVATE KEY-----";
54+
55+
function String2Hex($string){
56+
$hex = '';
57+
for ($i=0; $i < strlen($string); $i++){
58+
$ord = ord($string[$i]);
59+
$hexCode = dechex($ord);
60+
$hex .= substr('0'.$hexCode, -2);
61+
}
62+
return $hex;
63+
}
64+
65+
function signWkCode($data, $private_key) {
66+
// $pri = formatPriKey($private_key);
67+
$pri = $private_key;
68+
$res = openssl_private_encrypt($data, $encrypted, $pri);
69+
if(!$res) return false;
70+
return String2Hex($encrypted);
71+
}
72+
73+
function formatPriKey($priKey) {
74+
$fKey = "-----BEGIN PRIVATE KEY-----\n";
75+
$len = strlen($priKey);
76+
for($i = 0; $i < $len; ) {
77+
$fKey = $fKey . substr($priKey, $i, 64) . "\n";
78+
$i += 64;
79+
}
80+
$fKey .= "-----END PRIVATE KEY-----";
81+
return $fKey;
82+
}
83+
84+
// $data = '原始数据';
85+
// $private_key = '私钥字符串';
86+
$private_key = $prikey;
87+
$wxcode = signWkCode($data, $private_key);
88+
var_dump($wxcode);
89+
90+
$privateKey = openssl_pkey_new(array(
91+
'private_key_bits' => 2048,
92+
'private_key_type' => OPENSSL_KEYTYPE_RSA,
93+
));
94+
95+
$publicKey = openssl_pkey_get_details($privateKey)['key'];
96+
var_dump($privateKey);
97+
var_dump($publicKey);

0 commit comments

Comments
 (0)