return 되는 값과, 그냥 echo로 출력하는 값이 다릅니다.
본문
안녕하세요.
openssl_encrypt로 암호화를 할려는 데 return되는 값과, echo로 출력하는 값이 다릅니다.
public function encrypt($text)
{
$cipherText = openssl_encrypt($text, $this->cipher, $this->key, OPENSSL_RAW_DATA);
if ($cipherText != $text) {
echo base64_encode($cipherText);
return base64_encode($cipherText);
}
}
echo 로 하면 암호화된 값이 출력됩니다.
근데 return 넘기고, 함수를 호출하는 곳에서 print_r로 하면
Object ([
'key' .....
])
가 출력됩니다.
전에는 잘 했던거같은데 왜이러는 지 모르겠네요 ㅠㅠㅠ
함수를 호출한 곳은
$cryptPassword = new cryptController();
$cryptPassword->encrypt($this->member['password']);
으로 되어있습니다.
!-->
답변 1
다른 방법으로 해결했습니다.
$cryptPassword = new cryptController();
$cryptPassword->encrypt($this->member['password']);
이 부분을
$cryptPassword = new cryptController();
$this->member['password'] = $cryptPassword->encrypt($this->member['password']);
로 해결했습니다.
답변을 작성하시기 전에 로그인 해주세요.