반응형
인스턴스 코드
<?php
class Aes{
protected $key='';
protected $iv='';
/**
* @param $key
* @param $iv
* @return $this
* 배치하다 key iv
*/
public function instance($key,$iv){
$this->key=$key;
$this->iv=$key;
return $this;
}
/**
* @param $input
* @return string
* 암호화
*/
public function encrypt($input)
{
$data = openssl_encrypt($input, 'AES-256-CBC', $this->key, OPENSSL_RAW_DATA, $this->hexToStr($this->iv));
$data = base64_encode($data);
return $data;
}
/**
* @param $input
* @return string
*암호를 풀다
*/
public function decrypt($input)
{
$decrypted = openssl_decrypt(base64_decode($input), 'AES-256-CBC', $this->key, OPENSSL_RAW_DATA, $this->hexToStr($this->iv));
return $decrypted;
}
/**
* @param $hex
* @return string
* hex 변환
*/
public function hexToStr($hex)
{
$string='';
for ($i=0; $i < strlen($hex)-1; $i+=2)
{
$string .= chr(hexdec($hex[$i].$hex[$i+1]));
}
return $string;
}
}
직접 복사하여 사용할 수 있음, php의 aes 암호화 라이브러리
반응형
'개발 꿀팁 > PHP' 카테고리의 다른 글
PHP 연쇄 조작은 call과 callstatic 마술 기법을 통해 실현되고 phpstorm은 주석을 통해 function을 추적한다 (0) | 2022.09.20 |
---|---|
네이티브 PHP에서 네이티브 GD 라이브러리를 호출하여 포스터를 생성합니다 (0) | 2022.09.20 |
PHP에서 PHPMailer로 메일 보내기 (0) | 2022.09.20 |
thinkphp 사용자 지정 명령줄 만들기 (0) | 2022.09.20 |
php 클래스의 각종 차단기 (1) | 2022.09.19 |