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

안녕하세요.

 

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개

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

 

$cryptPassword = new cryptController();

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

 

이 부분을

 

$cryptPassword = new cryptController();

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

 

로 해결했습니다.

로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고