首頁  >  文章  >  後端開發  >  php 加密解密方法是什麼

php 加密解密方法是什麼

藏色散人
藏色散人原創
2021-07-15 09:20:376659瀏覽

php加密解密的實作方法:1、可以使用「openssl_encrypt」方法來實作加密;2、使用「openssl_decrypt」方法實作解密。

php 加密解密方法是什麼

本文操作環境: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn