php加密解密的實作方法:1、可以使用「openssl_encrypt」方法來實作加密;2、使用「openssl_decrypt」方法實作解密。
本文操作環境:Windows7 系統、PHP7.1版,DELL G3電腦
相關文章推薦:《 PHP如何加密解密? PHP加密解密的方法》《PHP加密解密工具有哪些》《PHP實作的加密解密處理類別》
php 加密解密方法是什麼?
php實作AES的加密解密
在php中我們使用openssl_encrypt來實作加密和使用openssl_decrypt實作解密
一:openssl_encrypt方法詳解:
openssl_encrypt($data, $method, $key, $options = 0, $iv = "", &$tag = NULL, $aad = "", $tag_length = 16)
參數:
1.$data:加密明文
2.$method:加密方法: 可以透過openssl_get_cipher_methods()取得有哪些加密方式
3.$passwd:加密金鑰[密碼]
4.$options:資料格式選項(可選)【選項有:】:0,OPENSSL_RAW_DATA=1,OPENSSL_ZERO_PADDING=2, OPENSSL_NO_PADDING=3
5.$iv:密初始化向量(可選),需要注意:如果method為DES−ECB,則iv無需填寫
6.$tag:使用AEAD 密碼模式(GCM 或CCM)時傳送引用的驗證標籤(可選)
7.$aad:附加的驗證資料。 (可選)
8.$tag_length:驗證 tag 的長度。 GCM 模式時,它的範圍是4 到16(可選)
二:openssl_decrypt方法詳解
openssl_decrypt($data, $method, $password, $options = 1, $iv = "", $tag = "", $aad = "")
參數:
1.$data:要解密的加密消息。
2.$method:解密方法:可以透過openssl_get_cipher_methods()取得有哪些解密方式
3.$passwd:解密金鑰[密碼]
4.$ options:資料格式選項(可選)【選項有:】:0,OPENSSL_RAW_DATA=1,OPENSSL_ZERO_PADDING=2,OPENSSL_NO_PADDING=3
5.$iv:密初始化向量(可選),需要注意:如果method為DES−ECB,則iv無需填寫
6.$tag:AEAD密碼模式下的驗證標籤(可選)
7.$aad:附加的驗證資料。 (可選)
三:實現AES的加密解密
1:AES加密
// 要加密的字符串 $data = 'test'; // 密钥 $key = '123456'; // 加密数据 'AES-128-ECB' 可以通过openssl_get_cipher_methods()获取 $encrypt = openssl_encrypt($data, 'AES-128-ECB', $key, 0); echo (($encrypt));
2:AES解密
//解密字符串 $encrypt = '***'; //密钥 $key = '123456'; // 解密数据 $decrypt = openssl_decrypt($encrypt, 'AES-128-ECB', $key, 0); echo $decrypt;
根據如上就可以實現AES的加密解密功能
推薦學習:《PHP影片教學》
以上是php 加密解密方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!