AES:
<?phpheader('Content-Type: text/plain;charset=utf-8');$data = 'phpbest';$key = 'oScGU3fj8m/tDCyvsbEhwI91M1FcwvQqWuFpPoDHlFk='; //echo base64_encode(openssl_random_pseudo_bytes(32));$iv = 'w2wJCnctEG09danPPI7SxQ=='; //echo base64_encode(openssl_random_pseudo_bytes(16));echo '內容: '.$data."\n";$encrypted = openssl_encrypt($data, 'aes-256-cbc', base64_decode($key), OPENSSL_RAW_DATA, base64_decode($iv));echo '加密: '.base64_encode($encrypted)."\n";$encrypted = base64_decode('To3QFfvGJNm84KbKG1PLzA==');$decrypted = openssl_decrypt($encrypted, 'aes-256-cbc', base64_decode($key), OPENSSL_RAW_DATA, base64_decode($iv));echo '解密: '.$decrypted."\n";?>
用openssl產生rsa金鑰組(私密金鑰/公開金鑰):
openssl genrsa -out rsa_private_key.pem 2048openssl rsa -pubout -in rsa_private_key.pem -out rsa_public_key.pem
RSA:
<?phpheader('Content-Type: text/plain;charset=utf-8');$data = 'phpbest';echo '原始內容: '.$data."\n";openssl_public_encrypt($data, $encrypted, file_get_contents(dirname(__FILE__).'/rsa_public_key.pem'));echo '公開金鑰加密: '.base64_encode($encrypted)."\n";$encrypted = base64_decode('nMD7Yrx37U5AZRpXukingESUNYiSUHWThekrmRA0oD0=');openssl_private_decrypt($encrypted, $decrypted, file_get_contents(dirname(__FILE__).'/rsa_private_key.pem'));echo '私密金鑰解密: '.$decrypted."\n";?>