휴대폰번호 복호화 문의
본문
안녕하세요. 그누보드에 DB저장시 register_form_update.php 암호화 부분이 아래와 같은 형태로 되어있습니다.
$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']는 문제가 없느것 같으며, 복호화부분이 적용안되는것 같은데 조언을 요청드립니다.
$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
저렇게 decode를 하면 당연히 안되는게 맞습니다.
$mb_hp = '*** 개인정보보호를 위한 휴대폰번호 노출방지 ***';
$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;
!-->
답변을 작성하시기 전에 로그인 해주세요.