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

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

QA

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

답변 1

본문

안녕하세요.

 

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']);

 

로 해결했습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 26
© SIRSOFT
현재 페이지 제일 처음으로