>  기사  >  백엔드 개발  >  PHP에서 암호화에 Aes를 사용하는 방법

PHP에서 암호화에 Aes를 사용하는 방법

醉折花枝作酒筹
醉折花枝作酒筹앞으로
2021-04-06 10:52:094109검색

php에서는 사용자의 ID를 확인하여 사용자가 로그인되어 있는지 확인할 수 있지만, 이 ID는 수정 후에는 수정된 사용자 정보를 모두 얻을 수 있으므로 값을 암호화해야 합니다. 편집기를 따라 암호화에 Aes를 사용하는 방법을 살펴보겠습니다.

PHP에서 암호화에 Aes를 사용하는 방법

프로젝트에서, 특히 PC 측에서는 사용자가 로그인한 후 사용자가 로그인했는지 확인하기 위해 프런트엔드에 ID를 반환합니다. 이 ID의 대부분은 사용자의 ID입니다.

PHP에서 암호화에 Aes를 사용하는 방법하지만 이 값을 수정하면 수정된 사용자의 정보를 모두 얻을 수 있다는 큰 단점이 있습니다.

그럼 오늘은 암호화에 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 도구 수업입니다. 이 값은 직접 수정해야 하며 16비트이므로 사용자가 로그인할 때 ID를 프런트 엔드에 반환하게 됩니다. system 控 먼저 컨트롤러는

PHP에서 암호화에 Aes를 사용하는 방법

을 도입한 후 인스턴스화

로그인에 성공한 후 이 값을 프런트엔드에 반환합니다 PHP에서 암호화에 Aes를 사용하는 방법

U_ID 입니다 암호화된 값PHP에서 암호화에 Aes를 사용하는 방법

PHP에서 암호화에 Aes를 사용하는 방법PHP에서 암호화에 Aes를 사용하는 방법

u_id就是加密后的值

PHP에서 암호화에 Aes를 사용하는 방법                          然后我们在comment추천 학습:

php 비디오 튜토리얼

PHP에서 암호화에 Aes를 사용하는 방법

위 내용은 PHP에서 암호화에 Aes를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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