이전 목록 다음
미채택 완료

return 되는 값과, 그냥 echo로 출력하는 값이 다릅니다.

2017-11-08 (수) 21:23:35 3,902

안녕하세요.

openssl_encrypt로 암호화를 할려는 데 return되는 값과, echo로 출력하는 값이 다릅니다.

Copy
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개

2017-11-08 (수) 21:48:44

다른 방법으로 해결했습니다.

$cryptPassword = new cryptController();

$cryptPassword->encrypt($this->member['password']);

이 부분을

$cryptPassword = new cryptController();

$this->member['password']  = $cryptPassword->encrypt($this->member['password']);

로 해결했습니다.

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