휴대폰번호 복호화 문의 채택완료

3년 전 조회 1,693

안녕하세요. 그누보드에 DB저장시 register_form_update.php 암호화 부분이 아래와 같은 형태로 되어있습니다.

 

Copy
$hash ='thisishash';

$hash = substr(hash('sha256', $hash, true), 0, 32);

// initial vector

$iv = chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0);

$mb_hp = base64_encode(openssl_encrypt($mb_hp, 'aes-256-cbc', $hash, OPENSSL_RAW_DATA, $iv))

 

관리자단 회원정보 리스트의 $row['mb_hp'] 해당 암호화 복호화를 위해 아래와 같이 적용하였으니 값이 노출되지 않습니다. $row['mb_hp']는 문제가 없느것 같으며, 복호화부분이 적용안되는것 같은데 조언을 요청드립니다.

 

Copy
$hash ='thisishash';

$hash = substr(hash('sha256', $hash, true), 0, 32);

// initial vector

$iv = chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0);

echo base64_decode(openssl_decrypt($row['mb_hp'], 'aes-256-cbc', $hash, OPENSSL_RAW_DATA, $iv));

 

답변 1개

채택된 답변
+20 포인트

저렇게 decode를 하면 당연히 안되는게 맞습니다.

Copy
$mb_hp = '01012341234';
$hash ='thisishash';
$hash = substr(hash('sha256', $hash, true), 0, 32);
// initial vector
$iv = chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0);
$mb_hp = base64_encode(openssl_encrypt($mb_hp, 'aes-256-cbc', $hash, OPENSSL_RAW_DATA, $iv));
echo $mb_hp;
echo '<br>';

$re_mb_hp = openssl_decrypt(base64_decode($mb_hp), 'aes-256-cbc', $hash, OPENSSL_RAW_DATA, $iv);
echo $re_mb_hp;

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고