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 }