話不多說,直接上示例。
1、aes演算法加解密
<?php
header('content-type: text/plain;charset=utf-8');
$data = '
],"error": 0
}';$key = 'oscgu3fj8m/tdcyvsbehwi91m1fcwvqqwufppodhlfk='; //echo base64_encode(openssl_random_pseudo_bytes(32));
$iv = 'w2wjcncteg09danppi7sxq=='; //echo base64_encode(openssl_random_pseudo_bytes(16));
$key = '0ipwn+jzry3lq5m6ahz4bx/5nbczr8axjyp4h9ycfdc='; //echo base64_encode(openssl_random_pseudo_bytes(32));
$iv = '23l/bvbdnrzqxnxwfgcbpw=='; //echo base64_encode(openssl_random_pseudo_bytes(16));
//echo php_eol;
//print_r(base64_encode(openssl_random_pseudo_bytes(32)));
//echo php_eol;
//print_r(base64_encode(openssl_random_pseudo_bytes(16)));
//echo php_eol;
print_r('內容: ');
echo php_eol;
print_r($data);
echo php_eol;
echo php_eol;
echo php_eol;
$encrypted = openssl_encrypt($data, 'aes-256-cbc', base64_decode($key), openssl_raw_data, base64_decode($iv));
$base64encrypted = base64_encode($encrypted);
print_r('加密: ');
echo php_eol;
print_r( $base64encrypted);
echo php_eol;
echo php_eol;
echo php_eol;
$encrypted = base64_decode($base64encrypted);
$decrypted = openssl_decrypt($encrypted, 'aes-256-cbc', base64_decode($key), openssl_raw_data, base64_decode($iv));
print_r('解密: ');
echo php_eol;
print_r($decrypted);
echo php_eol;
echo php_eol;
echo php_eol;
?>
2、rsa演算法加解密
<?php
header('content-type: text/plain;charset=utf-8');
//命令端執行以下命令
// 生成私鑰
# openssl genrsa -out rsa_private_key.pem 1024
// 生成公鑰
# openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
//最大加密245個位元組資料,一定要防止溢位,盡量控制在合理安全範圍內,防止造成無法加解密
//$data = '';
print_r('原始內容長度: ');
print_r(strlen($data));
echo php_eol;
echo php_eol;
print_r('原始內容: ');
echo php_eol;
print_r($data);
echo php_eol;
echo php_eol;
echo php_eol;
openssl_public_encrypt($data, $encrypted, file_get_contents(dirname(__file__).'/rsa_public_key.pem'));
$publicdataen = base64_encode($encrypted);
print_r('公鑰加密: ');
echo php_eol;
print_r($publicdataen);
echo php_eol;
echo php_eol;
echo php_eol;
$encrypted = base64_decode($publicdataen);
openssl_private_decrypt($encrypted, $decrypted, file_get_contents(dirname(__file__).'/rsa_private_key.pem'));
print_r('私鑰解密: ');
echo php_eol;
print_r($decrypted);
echo php_eol;
echo php_eol;
echo php_eol;
?>
php服務端setcookie 原理
1 什麼是 cookie?cookie 常用於識別使用者。cookie 是伺服器留在使用者計算機中的小檔案。每當相同的計算機通過瀏覽器請求頁面時,它同時會傳送 cookie。通過 php,您能夠建立並取回 cookie 的值。2 如何取回 cookie 的值?php 的 cookie 變數用於取回 ...
PHP服務端環境搭建
1.php服務端環境安裝套件xampp apach mysql php直譯器 f mydoc檔案 重要 dl 學習 download重要資源 apache伺服器元件 安裝 4.修改瀏覽器中預設出現的dashboard資料夾 解決辦法 將htdocs下所有檔案刪除,將不會自動跳轉 至此,服務端環境配置...
PHP 服務端偽 Ajax 請求
有時候,你可能有這樣的需求,我們的a程式在處理客戶端的請求時,想要以使用者的身份給我們的b程式傳送乙個請求,但是又不想等待它的請求結果,有什麼樣的方法來解決這樣的情景呢?這時候,我們必須以socket的方式來建立乙個鏈結,然後把我們的請求資料以get或者post的方式傳遞過去,而無須等待它的響應結果...