PHP 문자 암호화하여 Form 전송하기
데이터가 길거나 JSON 형태의 데이터를 FORM으로 전송을 하면
의도하지 않게 데이터가 왜곡 되는 경우가 있습니다.
이 경우 URL ENCODING을 이용하여 처리를 하기도 합니다.
하지만 이렇게 하더라도 데이터 처리간에 데이터 왜곡 현상이 종종 발생을 합니다.
특히나 Value가 JSON일 때는 더욱 심합니다.
이 경우 해당 데이터를 암호화 처리를 하여 전송 후 최종 단계에서 복호화를 하게 되면 쉽게 해결 됩니다.
물론, 최초 데이터를 DB에 저장 후 최종 단계에서 DB에서 호출하는 것도 하나의 방법입니다.
아래 암호화 소스를 이용하여 필요에 맞게 응용을 하시면 됩니다.
function getstringEncryptsting($sStr, $sKey=CIPHER_KEY_HAN288, $sIV=IV2_HAN288){
$sCipher = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $sKey, $sStr, MCRYPT_MODE_CFB, $sIV);
return bin2hex($sCipher);
}
function getstringDecryptstring($sStr, $sKey=CIPHER_KEY_HAN288, $sIV=IV2_HAN288){
$sDecipher = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $sKey, pack('H*', $sStr), MCRYPT_MODE_CFB, $sIV);
return $sDecipher;
}
$str = "123456";
// 문자 암호화
$enc_str = getstringEncryptsting($str);
echo $enc_str;
// result
// 2aefbcc70d4a
// 문자 복호화
$dec_str = getstringDecryptstring($enc_str);
echo $dec_str;
// result
// 123456
PHP 문자 암호화하여 Form 전송하기 - mcrypt_encrypt, mcrypt_decrypt, bin2hex, pack