Heim  >  Artikel  >  Backend-Entwicklung  >  5 Fragen und Antworten zur symmetrischen PHP-Verschlüsselung und -Entschlüsselung

5 Fragen und Antworten zur symmetrischen PHP-Verschlüsselung und -Entschlüsselung

藏色散人
藏色散人nach vorne
2022-12-20 18:11:525483Durchsuche

Dieser Artikel vermittelt Ihnen relevante Kenntnisse im Zusammenhang mit der symmetrischen PHP-Verschlüsselung und -Entschlüsselung. Ich hoffe, dass er für alle hilfreich ist.

1. Mcrypt-Erweiterung oder OpenSSL-Erweiterung?

php7 hat die Mcrypt-Erweiterung abgelehnt und empfiehlt die Verwendung von OpenSSL für die Ver- und Entschlüsselung

2, DES, 3DES, AES?

DES ist ein älterer symmetrischer Verschlüsselungsalgorithmus. Seine Sicherheit entspricht nicht mehr den aktuellen Anforderungen und seine Leistung ist schlechter als die von AES.

Die Essenz von 3DES ist auch DES, aber es ist im Grunde das Gleiche wie oben. Versuchen Sie, diese beiden vertraulichen Algorithmen zu vermeiden (Advanced Encryption Standard), ein derzeit weit verbreiteter symmetrischer Verschlüsselungsalgorithmus. AES ist sehr sicher und leistungsstark.

3. AES-128-X, AES-196-X oder AES-256-X? Wenn der Schlüssel 16 Bytes überschreitet, wird der zusätzliche Teil direkt ignoriert.

4. Fünf Verschlüsselungsmodi

Beispielcode:

ECB Electric CodeBook  电码本模式
CBC Cipher Block Chaining 密码分组链接模式
$my_method = 'aes-128-cbc';  //算法
$key = "1234567812345678"; //128bit秘钥
$data =  "asxsaxasdlkasjdiqi";  
//输入算法获取向量长度
$iv_length =  openssl_cipher_iv_length( $my_method );  
//根据长度获取向量 函数会给$cstrong赋bool值,判断是否使用了强加密算法,一般为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);

Verschiedene Iterationsmodi für die Blockverschlüsselung unter demselben Algorithmus, z. B. AES-128-ECB, was sich auf die Verwendung des AES-Algorithmus bezieht, der geheime Schlüssel eine Länge von 128 Bit hat und die Iterationsmethode ECB ist. Verwendung Der mit dem AES-128-ECB-Algorithmus verschlüsselte Chiffretext kann nur mit AES-128-ECB entschlüsselt werden

5 Wie überprüfe ich die verfügbaren Verschlüsselungsmethoden?

CFB Cipher FeedBack 密码反馈模式
OFB Output FeedBack  输出反馈模式
CTR Counter Mode 计算器模式

Das obige ist der detaillierte Inhalt von5 Fragen und Antworten zur symmetrischen PHP-Verschlüsselung und -Entschlüsselung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen