>  기사  >  백엔드 개발  >  PHP 암호화에 Aese를 사용하는 방법에 대한 간략한 설명(코드 포함)

PHP 암호화에 Aese를 사용하는 방법에 대한 간략한 설명(코드 포함)

青灯夜游
青灯夜游앞으로
2021-03-01 17:45:403475검색

PHP 암호화에 Aese를 사용하는 방법에 대한 간략한 설명(코드 포함)

【추천 학습: "PHP Video Tutorial"】

프로젝트에서, 특히 PC 측에서는 사용자가 로그인한 후 프런트 엔드에 ID를 반환하여 사용자가 로그인되었는지 확인합니다. 이 식별은 대부분 모두 사용자 ID입니다

PHP 암호화에 Aese를 사용하는 방법에 대한 간략한 설명(코드 포함)

하지만 여기에는 이 값을 수정하면 수정된 사용자의 모든 정보를 얻을 수 있다는 큰 단점이 있습니다. 얼마나 무서운가!

그럼 오늘은 암호화에 aes를 사용해보겠습니다

<?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 = &#39;1234567891112121&#39;;
    }

    /**
     * 加密
     * @param String input 加密的字符串
     * @param String key   解密的key
     * @return HexString
     */
    public function encrypt($input = &#39;&#39;) {
        $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
        $input = $this->pkcs5_pad($input, $size);
        $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, &#39;&#39;, MCRYPT_MODE_ECB, &#39;&#39;);
        $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;
    }

}

aes 도구 수업입니다. 이 값은 직접 수정해야 하며 사용자가 로그인할 때 ID를 프런트 엔드에 반환하도록 16비트

PHP 암호화에 Aese를 사용하는 방법에 대한 간략한 설명(코드 포함)

입니다.

먼저 컨트롤러에 입력하고

PHP 암호화에 Aese를 사용하는 방법에 대한 간략한 설명(코드 포함)

그런 다음 인스턴스화합니다

PHP 암호화에 Aese를 사용하는 방법에 대한 간략한 설명(코드 포함)

사용자가 성공적으로 로그인한 후 이 값을 암호화하여 프런트 엔드에 반환합니다

PHP 암호화에 Aese를 사용하는 방법에 대한 간략한 설명(코드 포함)

이 u_id는 암호화된 값입니다

PHP 암호화에 Aese를 사용하는 방법에 대한 간략한 설명(코드 포함)

그런 다음 이 두 가지 방법은 매개변수입니다. 통합 처리를 위해 여기서 판단해 보겠습니다. 사용자 ID를 사용하는 모든 인터페이스는 사용자 ID를 해독할 수 있습니다

PHP 암호화에 Aese를 사용하는 방법에 대한 간략한 설명(코드 포함)

더 많은 프로그래밍 관련 지식을 보려면 다음을 방문하세요. ! !

위 내용은 PHP 암호화에 Aese를 사용하는 방법에 대한 간략한 설명(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제