【Empfohlenes Lernen: „PHP-Video-Tutorial“】
Im Projekt, insbesondere auf der PC-Seite, geben wir nach der Benutzeranmeldung eine Identifikation an das Frontend zurück, um festzustellen, ob der Benutzer angemeldet ist in. Bei dieser Identifikation handelt es sich größtenteils um Benutzer-IDs
Aber es gibt hier einen großen Nachteil, das heißt, dieser Wert kann geändert werden, wenn ich diesen Wert ändere, kann ich alle Informationen des geänderten Benutzers abrufen. Wie beängstigend!
Dann lasst uns heute AES für die Verschlüsselung verwenden
<?php namespace app\api\controller; /** * aes 加密 解密类库 * Class Aes * @package app\common\lib */ class Aes { private $key = null; /** * * @param $key 密钥 * @return String */ public function __construct() { // 需要小伙伴在配置文件app.php中定义aeskey $this->key = '1234567891112121'; } /** * 加密 * @param String input 加密的字符串 * @param String key 解密的key * @return HexString */ public function encrypt($input = '') { $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB); $input = $this->pkcs5_pad($input, $size); $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, ''); $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); mcrypt_generic_init($td, $this->key, $iv); $data = mcrypt_generic($td, $input); mcrypt_generic_deinit($td); mcrypt_module_close($td); $data = base64_encode($data); return $data; } /** * 填充方式 pkcs5 * @param String text 原始字符串 * @param String blocksize 加密长度 * @return String */ private function pkcs5_pad($text, $blocksize) { $pad = $blocksize - (strlen($text) % $blocksize); return $text . str_repeat(chr($pad), $pad); } /** * 解密 * @param String input 解密的字符串 * @param String key 解密的key * @return String */ public function decrypt($sStr) { $decrypted= mcrypt_decrypt(MCRYPT_RIJNDAEL_128,$this->key,base64_decode($sStr), MCRYPT_MODE_ECB); $dec_s = strlen($decrypted); $padding = ord($decrypted[$dec_s-1]); $decrypted = substr($decrypted, 0, -$padding); return $decrypted; } }
Dies ist eine AES-Toolklasse. Beachten Sie, dass dieser Wert von uns selbst geändert werden muss und 16 Bit beträgt
, damit unser Benutzer die ID beim Anmelden an das Frontend zurückgibt
Fügen Sie ihn zuerst in den Controller ein
und dann instanziieren
Nachdem sich der Benutzer erfolgreich angemeldet hat, verschlüsseln wir diesen Wert und geben ihn an das Frontend zurück
Diese u_id ist der verschlüsselte Wert
Dann legen wir diese beiden Methoden fest Kommentardatei, diese beiden Methoden sind Parameter Für eine einheitliche Verarbeitung können wir hier ein Urteil fällen. Jede Schnittstelle, die die Benutzer-ID verwendet, kann die Benutzer-ID entschlüsseln
Weitere Programmierkenntnisse finden Sie unter: Programmiervideo ! !
Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über die Verwendung von Aeses für die Verschlüsselung in PHP (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!