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

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

QA

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

 

로 해결했습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 69
QA 내용 검색
filter #php7 ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT