php服務端AES演算法 RSA加解密示例

2021-10-03 09:46:54 字數 2789 閱讀 2018

話不多說,直接上示例。

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的方式傳遞過去,而無須等待它的響應結果...