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

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

青灯夜游
풀어 주다: 2023-04-09 18:58:01
앞으로
3567명이 탐색했습니다.

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿