>  기사  >  백엔드 개발  >  mcrypt를 사용하여 PHP에서 CryptoJS 암호화된 비밀번호를 해독하는 방법은 무엇입니까?

mcrypt를 사용하여 PHP에서 CryptoJS 암호화된 비밀번호를 해독하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-05 07:31:01694검색

How to Decrypt CryptoJS Encrypted Passwords in PHP Using mcrypt?

mcrypt를 사용하여 PHP에서 CryptoJS 암호화된 비밀번호 해독

문제 설명

JavaScript에서 암호화된 사용자 비밀번호는 비밀번호를 활용하여 CryptoJS를 사용하여 생성됩니다. 키와 IV 모두에 대한 기반 키 파생. 그러나 mcrypt 라이브러리를 사용하는 PHP 서버에서 암호 해독 시도가 실패하여 의미 없는 암호 해독 문자열이 생성되었습니다.

해결책

주요 오류는 JavaScript(CryptoJS)에서 사용되는 암호화 방법이 다르기 때문에 발생합니다. ) 및 PHP(mcrypt). CryptoJS에서 키와 IV는 비밀번호에서 파생되는 반면, mcrypt는 암호화/복호화를 위해 비밀번호에만 의존합니다. 이를 수정하려면 CryptoJS에서 사용되는 것과 유사한 기술을 사용하여 PHP에서 키와 IV를 생성해야 합니다.

수정된 JavaScript 코드

saltHex 및 cipherTextHex 매개변수를 PHP 서버로 전송하면 향상된 JavaScript 암호화 프로세스가 이제 구현되었습니다.

PHP에서 키 및 IV 파생

다음 PHP 함수는 비밀번호와 솔트에서 키와 IV를 파생합니다.

mcrypt를 사용하여 PHP에서 암호 해독

파생 키와 IV로 무장하여 PHP에서 암호 해독이 수행됩니다.

OpenSSL(대체 방법)을 사용하여 PHP에서 암호 해독

OpenSSL 확장 프로그램을 사용하는 것이 암호 해독의 대안입니다.

이러한 수정을 통해 이제 JavaScript와 PHP 간에 사용자 비밀번호의 원활한 암호화 및 암호 해독이 가능해지며 안전한 데이터 처리가 보장됩니다.

위 내용은 mcrypt를 사용하여 PHP에서 CryptoJS 암호화된 비밀번호를 해독하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.