[PHP] 랜덤 암호화 키, 랜덤 IV 생성
2020. 7. 10. 18:14ㆍ개발자료/Web
반응형
○ 16진수 형태의 암호화 키를 랜덤하게 생성하는 함수
function getRandomHexLoop($iSize=64) {
$arrHex = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$strHex = '';
for($i=0; $i<$iSize; $i++){
$iRand = rand(0, 15);
$strHex .= $arrHex[$iRand];
}
return $strHex;
}
○ 16진수 형태의 암호화 키를 OpenSSL 함수를 이용하여 랜덤하게 생성하는 함수
function getRandomHexOpenSSL($iSize=64) {
return bin2hex(openssl_random_pseudo_bytes($iSize));
}
※ 두개의 함수중 상황에 맞게 사용하면됨.
○ pack 를 이용하여 2진 문자열로 변환 후 암호화 키로 사용
$key = pack('H*', getRandomHexLoop(64));
○ IV 랜덤 생성
$size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($size, MCRYPT_RAND);
반응형
'개발자료 > Web' 카테고리의 다른 글
[PHP] SQLite3 Escape String (0) | 2020.07.15 |
---|---|
[PHP] Base64 Image 파일로 변경하기 (0) | 2020.07.14 |
CKEditor 이미지 클래스 고정하기 (0) | 2020.07.01 |
[PHP] PhpSpreadsheet - Excel(엑셀) 제어 라이브러리 (0) | 2020.02.25 |
[PHP] Excel 라이브러리 - PhpSpreadsheet (0) | 2020.02.21 |