PHP7.1實現(xiàn)的AES與RSA加密操作示例
本文實例講述了PHP7.1實現(xiàn)的AES與RSA加密操作。分享給大家供大家參考,具體如下:
AES:
<?php
header('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 '內(nèi)容: '.$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 2048 openssl rsa -pubout -in rsa_private_key.pem -out rsa_public_key.pem
RSA:
<?php
header('Content-Type: text/plain;charset=utf-8');
$data = 'phpbest';
echo '原始內(nèi)容: '.$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";
?>
PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線工具:
在線RSA加密/解密工具:
http://tools.jb51.net/password/rsa_encode
文字在線加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode
在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt
在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha
在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php加密方法總結(jié)》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP數(shù)學(xué)運算技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》及《php正則表達式用法總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- 淺談PHP SHA1withRSA加密生成簽名及驗簽
- ThinkPHP實現(xiàn)的rsa非對稱加密類示例
- PHP封裝的非對稱加密RSA算法示例
- 基于PHP RSA密文過長加密解密 越過1024的解決方法
- PHP實現(xiàn)RSA加解密算法示例(生成密鑰位數(shù)為1024位的方法)
- PHP的RSA加密解密方法以及開發(fā)接口使用
- PHP檢測接口Traversable用法詳解
- PHP實現(xiàn)的MD5結(jié)合RSA簽名算法實例
- PHP實現(xiàn)RSA簽名生成訂單功能【支付寶示例】
- php rsa 加密,解密,簽名,驗簽詳解
- php基于openssl的rsa加密解密示例
- PHP rsa加密解密使用方法
- php實現(xiàn)RSA加密類實例
- 詳解PHP使用非對稱加密算法RSA
相關(guān)文章
php獲取json數(shù)據(jù)所有的節(jié)點路徑
這篇文章主要介紹了php獲取json數(shù)據(jù)所有的節(jié)點路徑的方法和實例,有需要的小伙伴可以參考下。2015-05-05
php curl 模擬登錄并獲取數(shù)據(jù)實例詳解
cURL 是一個功能強大的PHP庫,使用PHP的cURL庫可以簡單和有效地抓取網(wǎng)頁并采集內(nèi)容,設(shè)置cookie完成模擬登錄網(wǎng)頁,curl提供了豐富的函數(shù),開發(fā)者可以從PHP手冊中獲取更多關(guān)于cURL信息。本文以模擬登錄開源中國(oschina)為例,需要的朋友可以參考下2016-12-12
學(xué)習(xí)php設(shè)計模式 php實現(xiàn)橋梁模式(bridge)
這篇文章主要介紹了php設(shè)計模式中的橋梁模式,使用php實現(xiàn)橋梁模式,感興趣的小伙伴們可以參考一下2015-12-12
php根據(jù)一個給定范圍和步進生成數(shù)組的方法
這篇文章主要介紹了php根據(jù)一個給定范圍和步進生成數(shù)組的方法,涉及php針對數(shù)組的遍歷技巧,需要的朋友可以參考下2015-06-06
php array_walk array_map array_filter區(qū)別案例詳解
這篇文章主要介紹了php array_walk array_map array_filter區(qū)別案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-09-09

