php opensll加解密类

 1 <?php
 2 
 3 $pri = "-----BEGIN RSA PRIVATE KEY-----
 4 MIICXQIBAAKBgQCzJc4RrAqaH2Es02XQ91Cqp/JK0yX893JQwFT2eAusnwQ90Bwu
 5 FQWdcZyKHP+I7XWMZc0qT/V/p51cq1d0OarPsuikth/43qP+1IWTYTv1i967pDnQ
 6 jXKbnm1dEMvjmS5hi7b/WwNfTi/VdAGLN0nxiHlX4+czjNHA3pCSQ9hCzwIDAQAB
 7 AoGAIF7aZ3MQz1yQMItaQHIPz2Zdb4vLt3P24gR+1bJHWb+6AnlSPjlqNFLNGF+5
 8 BMLzlJToh5a/I3vkAVSsjsHEzUl8OpbZm10toxH9UMpGd+2OdVYpceurRzIZ9/MF
 9 MuMBjv/+xukP4Nh8H6ekMGRMfoZtICAlj/kJxh7YlJlINfECQQDaarmknxzvw25k
10 0SyLVsPffL3PQLHUZonFrwksGmk0XlTxgr+oUapi4SGVWuBkOjt7x4w8ktkiAtOZ
11 tNtE3EALAkEA0flEzYg/cf170iUDtFEmWFLiBI8ajFC1rljaE4lFS67YCX+L1wnd
12 5iQy29gV0qcxKme4bes+eUw+Jmeue0UuzQJBAJMJW/ZV4y4Jm4ylQF6BR5VxLXqT
13 a+O4L7F0FzGoigBmLLr1MT8H0zODqY8ZQYxXo2m9uUuh9CiwTHDiTuZ5e2cCQGQ7
14 3ylSUh8jR1mAy+znFCvznOtaOO0kliYdSjUrQUYot/6IwYOstR3ox9KEq548q863
15 ZqYqN0+GIuEIe5Vi6D0CQQCp8fTMRCNtEAfRvYTV8PgxNE8pyIvntIeUT+MM+LGy
16 4Xh2zYs7BiXeGx5mIT57QSYUsQKidYcneFyTl81oSgTQ
17 -----END RSA PRIVATE KEY-----";
18 
19 
20 $pub = "-----BEGIN PUBLIC KEY-----
21 MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCzJc4RrAqaH2Es02XQ91Cqp/JK
22 0yX893JQwFT2eAusnwQ90BwuFQWdcZyKHP+I7XWMZc0qT/V/p51cq1d0OarPsuik
23 th/43qP+1IWTYTv1i967pDnQjXKbnm1dEMvjmS5hi7b/WwNfTi/VdAGLN0nxiHlX
24 4+czjNHA3pCSQ9hCzwIDAQAB
25 -----END PUBLIC KEY-----";
26 
27  
28 
29 $rsa = new mycrypt($pub,$pri); 
30 $encryptContent = $rsa -> encrypt('hankangkang'); 
31 echo $encryptContent.'<br>';
32 $decryptContent = $rsa -> decrypt($encryptContent);
33 echo $decryptContent.'<br>';
34 
35 class mycrypt { 
36 
37 public $pubkey; 
38 public $privkey; 
39 
40 function __construct($pub,$pri) { 
41 $this->pubkey = $pub; 
42 $this->privkey = $pri; 
43 } 
44 
45 public function encrypt($data) { 
46 if (openssl_public_encrypt($data, $encrypted, $this->pubkey)) 
47 $data = base64_encode($encrypted); 
48 else 
49 throw new Exception('Unable to encrypt data. Perhaps it is bigger than the key size?'); 
50 
51 return $data; 
52 } 
53 
54 public function decrypt($data) { 
55 if (openssl_private_decrypt(base64_decode($data), $decrypted, $this->privkey)) 
56 $data = $decrypted; 
57 else 
58 $data = ''; 
59 
60 return $data; 
61 } 
62 
63 }

 

posted @ 2015-07-13 09:59  悲惨的大爷  阅读(339)  评论(0编辑  收藏  举报