2013-03-03 202 views
1

這裏是我的PHP腳本解密使用OpenSSL不工作

<?php 
$pubfile = fopen("public_key.pem", "r"); 
$public = fread($pubfile, 8192); 
fclose($pubfile); 
openssl_get_publickey($public); 

$prifile = fopen("private_key.pem", "r"); 
$private = fread($prifile, 8192); 
fclose($prifile); 
openssl_get_privatekey($private); 

$plaintext = "hello"; 

openssl_public_encrypt ($plaintext , $crypted , $public); 

openssl_private_decrypt($crypted, $decrypted, $private); 
echo $decrypted; 
?> 

我相應的公共和私有密鑰

private_key.pem

-----BEGIN RSA PRIVATE KEY----- 
MIIEowIBAAKCAQEAtwxvPpbvbeJCztWlQCC0w2mQTNICarpIkbFTzlEooXA8Zo30 
sN9cdH0Ifa/pIhfx0Lbm+e03Fz5NZelJZ5QRiRfoN9tcb5zYrwvVWx1SR6Zo5moS 
S5YEvVSWVpu3D7x3IO2XVtTHlWTTRZk2c+ZuFR3eIwDZbmuOiTmuJMQCJiRd8pqf 
4sVCoKzWrUmBuT2pc/sdUQ4IPylGK3yGVyxHNa8gCkBs/zVq3I0Zu7Nx8mW8DTn9 
EvP02mkFHynJZgKE0SJftu6Mp9BDl4qR4T8896K+Z1Fi3qx3iK6nkjYjXCYYZB90 
6uWiqm7BK/4zbzuc604+BZ4LOPgCsO+aZjx3ywIDAQABAoIBABgTfp5Q4/UkCX2D 
BFVG9/+r5trz1HWNQvZGyKseaaWySX+DtGd/OX3o5DED7joZxCibpg3BcbmQ7EU3 
RfxlsVjC2DxgkevsSWPcvpdZZ/UcojeMRBPFC6KLeaqymIVtWI3wMjOtkQLJXDCP 
UmY0LM6COzGHbxHi+8B44brcPRwe+zJK5ALhPfFEyPsnz9Rw2PLBWceXNeZYN0ja 
C699r+a/t0kdJ0+49LLTvFjFECZLArZTK1GZbzACeM/fFl7XvK3tsdAkizys0Dwl 
eyDtINkWlg+hzt8uijVY78MvP36RM8k4QIjSX/2p/jupsyZD4I2R9OW+ml9sImok 
Ud5YKaECgYEA7xbLLvZ5ddpf/yBSVpGytfU/PzWK5L9cPRbrQPll6iKgimAOTULi 
VQAQYaCDL/er/zjVU+a2Kxv1G8yX/LXHXtpSbxIVvgTqtAuGYT0hGkCFtUQaviJG 
z/r3DnGiFu+l8FPxw+CQEgeeyNG49TzyA7aODswWm3o6aWElptJDdQ8CgYEAw/7p 
RQkgLaKzLNidCNDNq/4/8zmJoMe6GVLGl+HVHKzn6pPZfctI201yaJ5LbyPaYD/2 
2MlDleg4A9zZILykS3QRo/ex3H+7exYA4qQcLqXJT8D5oMlNvFiF6NWHu7WJtXlt 
q05vcBXdRy6s3by1+SXyH42H6H930AIER1366YUCgYAxfLlPniqjzzCBgTIpwvyH 
lxyhO7blBArWhjDpgPWsUcCDA8DSEx7/0wSRAIVG32/VYvEc7asVHzNLrrxizUlY 
A75+SPMBIsllvODyrZF1epdyXodehX+8ush6T+Dp+G6TYPywu4F2iec+z9IFyLib 
NiUPQQUI53LBrx74+ZqG1wKBgBhFlTXLb4S3RWEkYi4ZTZ8jGWBRm82hblZ8fcOJ 
YA7xCrduH90IM7mU2bpDACx/UCfjQ/qM0iXaYDV6QBlhwybk9NpNbmVUHC+eBfYL 
RMIyHcAWsdNLmqjcfZjb+LcyQB+NLhus1vgWfRS3nwjGufJk1Js7t7z/LCNCXK1J 
4izRAoGBANSNXXYF32hQ8CJt/LqbtQaRcffdwoytFVps1lIlSfmu+huxZ5/yLuZt 
AWy9Ob5SiAXeEbPTqYA24qn8ACYL/Ar2CskY22HRJz/poQ1FuMRjf+/qsRP0VF2a 
pS4yn7u/iKCSIRheFY8w/u8gzxx/rSks/xEmoBCgOq8nguQkqa1h 
-----END RSA PRIVATE KEY----- 

public_key.pem

-----BEGIN PUBLIC KEY----- 
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnDI+Q/tbVToQ30DBB0y6 
89ivB01gRhuAEYCqMeezhE8CrzQN3WGsox3Q3ortLZkbuFrMQdBN6ZjD1w0k9utx 
Lr3MFRbXqAxeXd7NlCz9biBaQw1LboKr10kVyENPTRT2NrQnfsFsI6WfvMKiu62/ 
ZEHT80DMUvilSSuRbNKrfwMqhKiRbM83Olxepk8XBNyRimvypxaPhcEiQYFlirVq 
/jvyUaJg01VjXxp1PKqXwIurF+Eu+W6b4OotLHY0EAPckNiP4XOHMNWd/NG5jV3F 
mEzz5Cn9IdMDHSewcA6/rsOqVx0bZOBnSsmVLu9fPsCyrs7eBSXZSlIFKHD39HR6 
eQIDAQAB 
-----END PUBLIC KEY----- 

$crypted返回給我加密的數據,但解密回聲沒有。

我做了一個回聲的結果,它回來作爲NULL任何想法?

+0

你嘗試擺脫8192個的長度則params的? – 2013-03-03 04:57:56

+0

不,現在讓我試試看。認爲這兩個文件的長度都比8192短。我只是試了一下。仍然返回NULL – Synaero 2013-03-03 05:01:56

回答

1

已解決。我不知道發生了什麼事,但在生成新的密鑰對腳本之後。我可能可能混淆了我的密鑰對

0

使用openssl rsa轉儲關鍵內容顯示您在上面發佈的私鑰和公鑰具有不同的模數。對於匹配的密鑰對,私鑰和公鑰中的模數將是相同的。換句話說,你肯定混淆了不同的鍵。

要檢測到這一點,OpenSSL本身具有RSA_check_key()函數來檢查RSA密鑰對是否可用,但PHP wrapper for OpenSSL似乎沒有將該函數公開給用戶。

公鑰:

% openssl rsa -in public_key.pem -pubin -text 
Public-Key: (2048 bit) 
Modulus: 
    00:9c:32:3e:43:fb:5b:55:3a:10:df:40:c1:07:4c: 
    ba:f3:d8:af:07:4d:60:46:1b:80:11:80:aa:31:e7: 
    b3:84:4f:02:af:34:0d:dd:61:ac:a3:1d:d0:de:8a: 
    ed:2d:99:1b:b8:5a:cc:41:d0:4d:e9:98:c3:d7:0d: 
    24:f6:eb:71:2e:bd:cc:15:16:d7:a8:0c:5e:5d:de: 
    cd:94:2c:fd:6e:20:5a:43:0d:4b:6e:82:ab:d7:49: 
    15:c8:43:4f:4d:14:f6:36:b4:27:7e:c1:6c:23:a5: 
    9f:bc:c2:a2:bb:ad:bf:64:41:d3:f3:40:cc:52:f8: 
    a5:49:2b:91:6c:d2:ab:7f:03:2a:84:a8:91:6c:cf: 
    37:3a:5c:5e:a6:4f:17:04:dc:91:8a:6b:f2:a7:16: 
    8f:85:c1:22:41:81:65:8a:b5:6a:fe:3b:f2:51:a2: 
    60:d3:55:63:5f:1a:75:3c:aa:97:c0:8b:ab:17:e1: 
    2e:f9:6e:9b:e0:ea:2d:2c:76:34:10:03:dc:90:d8: 
    8f:e1:73:87:30:d5:9d:fc:d1:b9:8d:5d:c5:98:4c: 
    f3:e4:29:fd:21:d3:03:1d:27:b0:70:0e:bf:ae:c3: 
    aa:57:1d:1b:64:e0:67:4a:c9:95:2e:ef:5f:3e:c0: 
    b2:ae:ce:de:05:25:d9:4a:52:05:28:70:f7:f4:74: 
    7a:79 
Exponent: 65537 (0x10001) 
writing RSA key 
-----BEGIN PUBLIC KEY----- 
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnDI+Q/tbVToQ30DBB0y6 
89ivB01gRhuAEYCqMeezhE8CrzQN3WGsox3Q3ortLZkbuFrMQdBN6ZjD1w0k9utx 
Lr3MFRbXqAxeXd7NlCz9biBaQw1LboKr10kVyENPTRT2NrQnfsFsI6WfvMKiu62/ 
ZEHT80DMUvilSSuRbNKrfwMqhKiRbM83Olxepk8XBNyRimvypxaPhcEiQYFlirVq 
/jvyUaJg01VjXxp1PKqXwIurF+Eu+W6b4OotLHY0EAPckNiP4XOHMNWd/NG5jV3F 
mEzz5Cn9IdMDHSewcA6/rsOqVx0bZOBnSsmVLu9fPsCyrs7eBSXZSlIFKHD39HR6 
eQIDAQAB 
-----END PUBLIC KEY----- 

私鑰:

% openssl rsa -in private_key.pem -text 
Private-Key: (2048 bit) 
modulus: 
    00:b7:0c:6f:3e:96:ef:6d:e2:42:ce:d5:a5:40:20: 
    b4:c3:69:90:4c:d2:02:6a:ba:48:91:b1:53:ce:51: 
    28:a1:70:3c:66:8d:f4:b0:df:5c:74:7d:08:7d:af: 
    e9:22:17:f1:d0:b6:e6:f9:ed:37:17:3e:4d:65:e9: 
    49:67:94:11:89:17:e8:37:db:5c:6f:9c:d8:af:0b: 
    d5:5b:1d:52:47:a6:68:e6:6a:12:4b:96:04:bd:54: 
    96:56:9b:b7:0f:bc:77:20:ed:97:56:d4:c7:95:64: 
    d3:45:99:36:73:e6:6e:15:1d:de:23:00:d9:6e:6b: 
    8e:89:39:ae:24:c4:02:26:24:5d:f2:9a:9f:e2:c5: 
    42:a0:ac:d6:ad:49:81:b9:3d:a9:73:fb:1d:51:0e: 
    08:3f:29:46:2b:7c:86:57:2c:47:35:af:20:0a:40: 
    6c:ff:35:6a:dc:8d:19:bb:b3:71:f2:65:bc:0d:39: 
    fd:12:f3:f4:da:69:05:1f:29:c9:66:02:84:d1:22: 
    5f:b6:ee:8c:a7:d0:43:97:8a:91:e1:3f:3c:f7:a2: 
    be:67:51:62:de:ac:77:88:ae:a7:92:36:23:5c:26: 
    18:64:1f:74:ea:e5:a2:aa:6e:c1:2b:fe:33:6f:3b: 
    9c:eb:4e:3e:05:9e:0b:38:f8:02:b0:ef:9a:66:3c: 
    77:cb 
publicExponent: 65537 (0x10001) 
privateExponent: 
    18:13:7e:9e:50:e3:f5:24:09:7d:83:04:55:46:f7: 
    ff:ab:e6:da:f3:d4:75:8d:42:f6:46:c8:ab:1e:69: 
    a5:b2:49:7f:83:b4:67:7f:39:7d:e8:e4:31:03:ee: 
    3a:19:c4:28:9b:a6:0d:c1:71:b9:90:ec:45:37:45: 
    fc:65:b1:58:c2:d8:3c:60:91:eb:ec:49:63:dc:be: 
    97:59:67:f5:1c:a2:37:8c:44:13:c5:0b:a2:8b:79: 
    aa:b2:98:85:6d:58:8d:f0:32:33:ad:91:02:c9:5c: 
    30:8f:52:66:34:2c:ce:82:3b:31:87:6f:11:e2:fb: 
    c0:78:e1:ba:dc:3d:1c:1e:fb:32:4a:e4:02:e1:3d: 
    f1:44:c8:fb:27:cf:d4:70:d8:f2:c1:59:c7:97:35: 
    e6:58:37:48:da:0b:af:7d:af:e6:bf:b7:49:1d:27: 
    4f:b8:f4:b2:d3:bc:58:c5:10:26:4b:02:b6:53:2b: 
    51:99:6f:30:02:78:cf:df:16:5e:d7:bc:ad:ed:b1: 
    d0:24:8b:3c:ac:d0:3c:25:7b:20:ed:20:d9:16:96: 
    0f:a1:ce:df:2e:8a:35:58:ef:c3:2f:3f:7e:91:33: 
    c9:38:40:88:d2:5f:fd:a9:fe:3b:a9:b3:26:43:e0: 
    8d:91:f4:e5:be:9a:5f:6c:22:6a:24:51:de:58:29: 
    a1 
prime1: 
    00:ef:16:cb:2e:f6:79:75:da:5f:ff:20:52:56:91: 
    b2:b5:f5:3f:3f:35:8a:e4:bf:5c:3d:16:eb:40:f9: 
    65:ea:22:a0:8a:60:0e:4d:42:e2:55:00:10:61:a0: 
    83:2f:f7:ab:ff:38:d5:53:e6:b6:2b:1b:f5:1b:cc: 
    97:fc:b5:c7:5e:da:52:6f:12:15:be:04:ea:b4:0b: 
    86:61:3d:21:1a:40:85:b5:44:1a:be:22:46:cf:fa: 
    f7:0e:71:a2:16:ef:a5:f0:53:f1:c3:e0:90:12:07: 
    9e:c8:d1:b8:f5:3c:f2:03:b6:8e:0e:cc:16:9b:7a: 
    3a:69:61:25:a6:d2:43:75:0f 
prime2: 
    00:c3:fe:e9:45:09:20:2d:a2:b3:2c:d8:9d:08:d0: 
    cd:ab:fe:3f:f3:39:89:a0:c7:ba:19:52:c6:97:e1: 
    d5:1c:ac:e7:ea:93:d9:7d:cb:48:db:4d:72:68:9e: 
    4b:6f:23:da:60:3f:f6:d8:c9:43:95:e8:38:03:dc: 
    d9:20:bc:a4:4b:74:11:a3:f7:b1:dc:7f:bb:7b:16: 
    00:e2:a4:1c:2e:a5:c9:4f:c0:f9:a0:c9:4d:bc:58: 
    85:e8:d5:87:bb:b5:89:b5:79:6d:ab:4e:6f:70:15: 
    dd:47:2e:ac:dd:bc:b5:f9:25:f2:1f:8d:87:e8:7f: 
    77:d0:02:04:47:5d:fa:e9:85 
exponent1: 
    31:7c:b9:4f:9e:2a:a3:cf:30:81:81:32:29:c2:fc: 
    87:97:1c:a1:3b:b6:e5:04:0a:d6:86:30:e9:80:f5: 
    ac:51:c0:83:03:c0:d2:13:1e:ff:d3:04:91:00:85: 
    46:df:6f:d5:62:f1:1c:ed:ab:15:1f:33:4b:ae:bc: 
    62:cd:49:58:03:be:7e:48:f3:01:22:c9:65:bc:e0: 
    f2:ad:91:75:7a:97:72:5e:87:5e:85:7f:bc:ba:c8: 
    7a:4f:e0:e9:f8:6e:93:60:fc:b0:bb:81:76:89:e7: 
    3e:cf:d2:05:c8:b8:9b:36:25:0f:41:05:08:e7:72: 
    c1:af:1e:f8:f9:9a:86:d7 
exponent2: 
    18:45:95:35:cb:6f:84:b7:45:61:24:62:2e:19:4d: 
    9f:23:19:60:51:9b:cd:a1:6e:56:7c:7d:c3:89:60: 
    0e:f1:0a:b7:6e:1f:dd:08:33:b9:94:d9:ba:43:00: 
    2c:7f:50:27:e3:43:fa:8c:d2:25:da:60:35:7a:40: 
    19:61:c3:26:e4:f4:da:4d:6e:65:54:1c:2f:9e:05: 
    f6:0b:44:c2:32:1d:c0:16:b1:d3:4b:9a:a8:dc:7d: 
    98:db:f8:b7:32:40:1f:8d:2e:1b:ac:d6:f8:16:7d: 
    14:b7:9f:08:c6:b9:f2:64:d4:9b:3b:b7:bc:ff:2c: 
    23:42:5c:ad:49:e2:2c:d1 
coefficient: 
    00:d4:8d:5d:76:05:df:68:50:f0:22:6d:fc:ba:9b: 
    b5:06:91:71:f7:dd:c2:8c:ad:15:5a:6c:d6:52:25: 
    49:f9:ae:fa:1b:b1:67:9f:f2:2e:e6:6d:01:6c:bd: 
    39:be:52:88:05:de:11:b3:d3:a9:80:36:e2:a9:fc: 
    00:26:0b:fc:0a:f6:0a:c9:18:db:61:d1:27:3f:e9: 
    a1:0d:45:b8:c4:63:7f:ef:ea:b1:13:f4:54:5d:9a: 
    a5:2e:32:9f:bb:bf:88:a0:92:21:18:5e:15:8f:30: 
    fe:ef:20:cf:1c:7f:ad:29:2c:ff:11:26:a0:10:a0: 
    3a:af:27:82:e4:24:a9:ad:61 
writing RSA key 
-----BEGIN RSA PRIVATE KEY----- 
MIIEowIBAAKCAQEAtwxvPpbvbeJCztWlQCC0w2mQTNICarpIkbFTzlEooXA8Zo30 
sN9cdH0Ifa/pIhfx0Lbm+e03Fz5NZelJZ5QRiRfoN9tcb5zYrwvVWx1SR6Zo5moS 
S5YEvVSWVpu3D7x3IO2XVtTHlWTTRZk2c+ZuFR3eIwDZbmuOiTmuJMQCJiRd8pqf 
4sVCoKzWrUmBuT2pc/sdUQ4IPylGK3yGVyxHNa8gCkBs/zVq3I0Zu7Nx8mW8DTn9 
EvP02mkFHynJZgKE0SJftu6Mp9BDl4qR4T8896K+Z1Fi3qx3iK6nkjYjXCYYZB90 
6uWiqm7BK/4zbzuc604+BZ4LOPgCsO+aZjx3ywIDAQABAoIBABgTfp5Q4/UkCX2D 
BFVG9/+r5trz1HWNQvZGyKseaaWySX+DtGd/OX3o5DED7joZxCibpg3BcbmQ7EU3 
RfxlsVjC2DxgkevsSWPcvpdZZ/UcojeMRBPFC6KLeaqymIVtWI3wMjOtkQLJXDCP 
UmY0LM6COzGHbxHi+8B44brcPRwe+zJK5ALhPfFEyPsnz9Rw2PLBWceXNeZYN0ja 
C699r+a/t0kdJ0+49LLTvFjFECZLArZTK1GZbzACeM/fFl7XvK3tsdAkizys0Dwl 
eyDtINkWlg+hzt8uijVY78MvP36RM8k4QIjSX/2p/jupsyZD4I2R9OW+ml9sImok 
Ud5YKaECgYEA7xbLLvZ5ddpf/yBSVpGytfU/PzWK5L9cPRbrQPll6iKgimAOTULi 
VQAQYaCDL/er/zjVU+a2Kxv1G8yX/LXHXtpSbxIVvgTqtAuGYT0hGkCFtUQaviJG 
z/r3DnGiFu+l8FPxw+CQEgeeyNG49TzyA7aODswWm3o6aWElptJDdQ8CgYEAw/7p 
RQkgLaKzLNidCNDNq/4/8zmJoMe6GVLGl+HVHKzn6pPZfctI201yaJ5LbyPaYD/2 
2MlDleg4A9zZILykS3QRo/ex3H+7exYA4qQcLqXJT8D5oMlNvFiF6NWHu7WJtXlt 
q05vcBXdRy6s3by1+SXyH42H6H930AIER1366YUCgYAxfLlPniqjzzCBgTIpwvyH 
lxyhO7blBArWhjDpgPWsUcCDA8DSEx7/0wSRAIVG32/VYvEc7asVHzNLrrxizUlY 
A75+SPMBIsllvODyrZF1epdyXodehX+8ush6T+Dp+G6TYPywu4F2iec+z9IFyLib 
NiUPQQUI53LBrx74+ZqG1wKBgBhFlTXLb4S3RWEkYi4ZTZ8jGWBRm82hblZ8fcOJ 
YA7xCrduH90IM7mU2bpDACx/UCfjQ/qM0iXaYDV6QBlhwybk9NpNbmVUHC+eBfYL 
RMIyHcAWsdNLmqjcfZjb+LcyQB+NLhus1vgWfRS3nwjGufJk1Js7t7z/LCNCXK1J 
4izRAoGBANSNXXYF32hQ8CJt/LqbtQaRcffdwoytFVps1lIlSfmu+huxZ5/yLuZt 
AWy9Ob5SiAXeEbPTqYA24qn8ACYL/Ar2CskY22HRJz/poQ1FuMRjf+/qsRP0VF2a 
pS4yn7u/iKCSIRheFY8w/u8gzxx/rSks/xEmoBCgOq8nguQkqa1h 
-----END RSA PRIVATE KEY-----