PHP7.1實(shí)現(xiàn)的AES與RSA加密操作示例
本文實(shí)例講述了PHP7.1實(shí)現(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é)運(yùn)算技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》及《php正則表達(dá)式用法總結(jié)》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
- 淺談PHP SHA1withRSA加密生成簽名及驗(yàn)簽
- ThinkPHP實(shí)現(xiàn)的rsa非對稱加密類示例
- PHP封裝的非對稱加密RSA算法示例
- 基于PHP RSA密文過長加密解密 越過1024的解決方法
- PHP實(shí)現(xiàn)RSA加解密算法示例(生成密鑰位數(shù)為1024位的方法)
- PHP的RSA加密解密方法以及開發(fā)接口使用
- PHP檢測接口Traversable用法詳解
- PHP實(shí)現(xiàn)的MD5結(jié)合RSA簽名算法實(shí)例
- PHP實(shí)現(xiàn)RSA簽名生成訂單功能【支付寶示例】
- php rsa 加密,解密,簽名,驗(yàn)簽詳解
- php基于openssl的rsa加密解密示例
- PHP rsa加密解密使用方法
- php實(shí)現(xiàn)RSA加密類實(shí)例
- 詳解PHP使用非對稱加密算法RSA
相關(guān)文章
PHP面向?qū)ο笞詣?dòng)加載機(jī)制原理與用法分析
這篇文章主要介紹了PHP面向?qū)ο笞詣?dòng)加載機(jī)制原理與用法,結(jié)合實(shí)例形式分析了php面向?qū)ο笞詣?dòng)加載機(jī)制的原理、相關(guān)函數(shù)及注意事項(xiàng),需要的朋友可以參考下2016-10-10在PHP上顯示JFreechart畫的統(tǒng)計(jì)圖方法
在JSP上的servlet能完全的顯示出JFreechart畫的統(tǒng)計(jì)圖,但是和其他語言混合運(yùn)用就不能顯示了,下面為大家介紹下如何在PHP上顯示JFreechart2013-11-11PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能
有時(shí)候我們會(huì)需要使用PHP導(dǎo)出pdf。這篇文章主要是記錄一下laravel實(shí)現(xiàn)導(dǎo)出PDF的兩種方式。文中的示例代碼講解詳細(xì),需要的可以參考一下2022-10-10WampServer搭建php環(huán)境時(shí)遇到的問題匯總
這篇文章主要介紹了WampServer搭建php環(huán)境時(shí)遇到的常見問題的解決辦法匯總,以上所述就是本文的全部內(nèi)容了。2015-07-07php+mysql實(shí)現(xiàn)無限級(jí)分類 | 樹型顯示分類關(guān)系
php+mysql實(shí)現(xiàn)無限級(jí)分類 | 樹型顯示分類關(guān)系...2006-11-11php基礎(chǔ)知識(shí):類與對象(5) static
php基礎(chǔ)知識(shí):類與對象(5) static...2006-12-12PHP實(shí)現(xiàn)讀取Excel文件的記錄(二)
在前文中介紹的方法有些麻煩,因?yàn)楸仨氁虞d很多的文件。本文介紹的方法簡單了很多,只需要加載兩個(gè)文件即可。需要的可以參考一下2022-03-03