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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
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']);

 

로 해결했습니다.

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

회원로그인

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