溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php對稱加解密的問題怎么解決

發(fā)布時間:2022-12-27 09:32:23 來源:億速云 閱讀:78 作者:iii 欄目:編程語言

本文小編為大家詳細(xì)介紹“php對稱加解密的問題怎么解決”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“php對稱加解密的問題怎么解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

1、mcrypt 擴(kuò)展 還是 openssl 擴(kuò)展?

php7 棄用了 mcrypt 擴(kuò)展并建議使用openssl來進(jìn)行加解密

2、DES,3DES,AES?

DES 是一種較舊的對稱加密算法。它的安全性已經(jīng)不能滿足當(dāng)前的需求,而且它的性能也比 AES 差。

3DES本質(zhì)也是DES,只是在DES的基礎(chǔ)上加密了3次,同上基本嗝屁,技術(shù)選型的時候,盡量避免這兩種機(jī)密算法

AES 是一種高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard),它是目前被廣泛使用的對稱加密算法。AES 的安全性非常高,而且它還具有較高的性能。

3、AES-128-X ,AES-196-X 還是 AES-256-X?

128,196,256就是密鑰長度的意思

128就是128bit 16個字節(jié),比如這個密鑰:1234123412341234

如果密鑰超出16字節(jié)后面多余的部分會被直接無視掉

4、五種加密模式

ECB Electric CodeBook  電碼本模式
CBC Cipher Block Chaining 密碼分組鏈接模式

這種模式需要一個向量值iv,比ECB更加安全

示例代碼:

$my_method = 'aes-128-cbc';  //算法
$key = "1234567812345678"; //128bit秘鑰
$data =  "asxsaxasdlkasjdiqi";  
//輸入算法獲取向量長度
$iv_length =  openssl_cipher_iv_length( $my_method );  
//根據(jù)長度獲取向量 函數(shù)會給$cstrong賦bool值,判斷是否使用了強(qiáng)加密算法,一般為true
$iv = openssl_random_pseudo_bytes( $iv_length, $cstrong );
//加密
$enc_data = openssl_encrypt($data, $my_method, $key,  OPENSSL_RAW_DATA, $iv);
//解密
$dec_data = openssl_decrypt($enc_data, $my_method, $key,  OPENSSL_RAW_DATA, $iv);
CFB Cipher FeedBack 密碼反饋模式
OFB Output FeedBack  輸出反饋模式
CTR Counter Mode 計(jì)算器模式

同一種算法下的不同分組加密迭代模式,比如AES-128-ECB,指的是使用AES算法,秘鑰是128bit長度,迭代方式是ECB,用AES-128-ECB算法的加密的密文只能用AES-128-ECB來解密

5、怎么查看可用的加密方法?

print_r(openssl_get_cipher_methods());
//
Array
(
    [0] => aes-128-cbc
      ...
    [19] => aes-192-cbc
    ...
    [35] => aes-256-cbc
    ...
    [54] => aria-128-cbc
      ...
    [80] => aria-256-ofb
    [81] => camellia-128-cbc
    ...
    [102] => camellia-256-ctr
    ...
    [105] => chacha20
    ...
    [107] => des-ede-cbc
       ...
    [116] => des-ede3-ofb
    [117] => des3-wrap
    [118] => null
    [119] => sm4-cbc
)

讀到這里,這篇“php對稱加解密的問題怎么解決”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI