반응형
php의 암호화 확장 mcrypt는 구식이며 더 이상 권장되지 않으며 libmrcypt는 mcrypt 확장의 핵심 라이브러리이지만 libmrcypt는 2007년에 폐기되었으며 많은 버그가 적시에 복구되지 않았으며 php는 공식적으로 권장되지 않으며 php7.2에서 이 확장을 제거할 것입니다.그래서 우리는 openssl 확장을 포용해야 하며, 다음은 openssl을 사용하여 암호를 해독합니다
<?php
class Aes
{
protected $method; //암호화 방법
protected $key; //비밀키
protected $iv; //초기화 벡터
public function __construct($key, $iv, $method = 'aes-256-cbc')
{
$this->method = $method;
$this->key = $key;
$this->iv = $iv;
}
public function encrypt($data)
{
return openssl_encrypt($data, $this->method, $this->key, 0, $this->iv);
}
public function decrypt($data)
{
return openssl_decrypt($data, $this->method, $this->key, 0, $this->iv);
}
}
$data = '암호화할 데이터';
$key = '44abebfdcf5cb06e'; //암호화 키를 사용하여 생성할 수 있습니다 bin2hex(random_bytes(16))생성
$iv = '024dbca067c48dad'; //비어 있지 않은 초기화 벡터 사용 가능 bin2hex(random_bytes(16)) 생성
$aes = new Aes($key, $iv);
$result = $aes->encrypt($data);
echo $result;
echo "<br>";
echo $aes->decrypt($result);
반응형
'개발 꿀팁 > PHP' 카테고리의 다른 글
PHP의 Trait 특성 (0) | 2022.09.27 |
---|---|
php CLI 프로그래밍 명령줄 모드 관련 지식 포인트 (0) | 2022.09.26 |
php 구현 데몬 (0) | 2022.09.26 |
[php] 너 정말 트라이캐치 할 줄 알아? (1) | 2022.09.23 |
php 해석 yaml (0) | 2022.09.23 |