홈>
코드 :
$result = mcrypt_ecb (MCRYPT_3DES, 'test', $string, MCRYPT_ENCRYPT);
$string
를 코드 인코딩
. 그러나 어떻게
$result
를 디코딩합니까?
?
$result
를 어떻게 해독하는지 알려주세요
?
- 답변 # 1
- 답변 # 2
https://gist.github.com/joashp/a1ae9cb30fa533f4ad94 참조
음식을 위해 일하는 Joashp의 OpenSSL을 사용하여 간단한 PHP 암호화 및 해독
/** * simple method to encrypt or decrypt a plain text string * initialization vector(IV) has to be the same when encrypting and decrypting * * @param string $action: can be 'encrypt' or 'decrypt' * @param string $string: string to encrypt or decrypt * * @return string */ function encrypt_decrypt($action, $string) { $output = false; $encrypt_method = "AES-256-CBC"; $secret_key = 'This is my secret key'; $secret_iv = 'This is my secret iv'; // hash $key = hash('sha256', $secret_key); // iv - encrypt method AES-256-CBC expects 16 bytes - else you will get a warning $iv = substr(hash('sha256', $secret_iv), 0, 16); if ( $action == 'encrypt' ) { $output = openssl_encrypt($string, $encrypt_method, $key, 0, $iv); $output = base64_encode($output); } else if( $action == 'decrypt' ) { $output = openssl_decrypt(base64_decode($string), $encrypt_method, $key, 0, $iv); } return $output; } $plain_txt = "This is my plain text"; echo "Plain Text =" .$plain_txt. "\n"; $encrypted_txt = encrypt_decrypt('encrypt', $plain_txt); echo "Encrypted Text = " .$encrypted_txt. "\n"; $decrypted_txt = encrypt_decrypt('decrypt', $encrypted_txt); echo "Decrypted Text =" .$decrypted_txt. "\n"; if ( $plain_txt === $decrypted_txt ) echo "SUCCESS"; else echo "FAILED"; echo "\n";
- 답변 # 3
ecb 모드 isntead에서 mcrypt_encrypt를 사용해야합니다. mcrypr_ecb는 더 이상 사용되지 않습니다.
암호 해독을 위해 다음을 사용할 수 있습니다 : mcrypt_decrypt
- 답변 # 4
참고 :이 기능은 PHP 7.1.0부터 더 이상 사용되지 않습니다. 이 기능에 의존하지 않는 것이 좋습니다.
MCRYPT_DECRYPT를 사용해보십시오
$result = mcrypt_ecb (MCRYPT_3DES, 'test', $string, MCRYPT_ENCRYPT); $decrypted_text = mcrypt_ecb(MCRYPT_DES, 'test', $result, MCRYPT_DECRYPT); echo rtrim($decrypted_text);
관련 자료
- javascript - 화면에 경고가있는 텍스트를 복사하는 방법
- CSS로 PHP 페이지 매기기를 중앙에 배치하는 방법
- python 3.x - 정수 키로 TypedDict를 만드는 방법은 무엇입니까?
- python - 목록의 텍스트 파일을 어떻게 변형합니까?
- python - Discordpy로 메시지를 보내는 방법
- 텍스트 글꼴을 설정하고 VBA를 사용하여 Word의 방정식에 글꼴을 유지하려면 어떻게합니까?
- javascript - localstorage의 데이터로 저장소를 초기화하는 방법은 무엇입니까?
- c++ - std - : initializer_list 로 생성자를 만드는 방법
- r - 최대 이상 치가있는 날을 찾는 방법
- swift - xmlcoder로 xml을 디코딩하는 방법은 무엇입니까?
- node.js - FFMPEG 및 노드에서 스트림을 사용하는 방법
- javascript - 삼항 연산자로 IF를 수행하는 방법
- php - href로 2 개의 값을 보내는 방법은 무엇입니까?
- next.js - NextJS에서 Linaria를 어떻게 사용할 수 있습니까?
- reactjs - react-places-autocomplete로 우편 번호를 얻는 방법
- html - 들어오는 텍스트를 암호로 숨기는 방법?
- mysql - LEFT JOIN으로 WHERE 조건을 사용하는 방법은 무엇입니까?
- reactjs - authcontext ()에서 jest/RTL로 테스트를 실행하는 방법
- swift - JSON 데이터 swiftUI에서`self` 변수를 다루는 방법
- linux - 버전 정보없이 DSO를로드하려면 어떻게해야합니까?
복호화 :
인수에서 모드를 변경하고 암호화 된 값을 전달해야합니다.
참고 : mcrypt_generic ()도 PHP 7.1.0부터 더 이상 사용되지 않습니다.
설명서 읽기 : http://www.php.net/manual/en/function.mcrypt-ecb.php.
mcrypt_generic ()을 사용하는 것이 좋습니다.