분류 php

AES 및 Cryptojs를 사용하여 PHP에서 JavaScript로 암호화하고 문자열을 해독하는 방법

컨텐츠 정보

  • 조회 442 (작성일 )

본문

이 튜토리얼은 cryptojs 및 php를 사용하여 문자열을 암호화하고 해독하는 데 도움이 됩니다. Cryptojs는 문자열 데이터를 암호화 된 텍스트로 또는 그 반대로 변환하는 데 사용되는 매우 인기 있는 라이브러리입니다.


암호화 데이터에 Angularjs / javascript Cryptojs 라이브러리를 사용하고 있습니다. 문자열, 양식 데이터 또는 헤더 매개 변수를 암호화하고 해독 할 수 있으며 암호화 된 데이터를 보호 할 자신 만의 공개 솔트 키를 만들 수 있습니다. SALT 문자열은 데이터 / 문자열의 암호화 및 복호화에 사용할 사용자 정의 공개 키입니다.이 예제는 openssl을 지원하는 CryptoJS 3.x 및 PHP5 +에서 작동합니다.


PHP에서 문자열 해독을 위한 파일 구조 


Angular 응용 프로그램 – Angularjs 응용 프로그램은 문자열을 변환하고 데이터를 해독하기 위해 PHP 응용 프로그램으로 보냅니다.


index.php –이 파일은 mcrypt_decrypt를 사용하여 문자열을 해독하고 데이터를 표시합니다.


우리는 angularjs 애플리케이션에서 키와 iv를 인코딩하기 위해 cryptojs Hex 방법을 사용하고 있습니다. 아래 키와 iv를 사용하고 있습니다.


  • key : 0123456789abcdef0123456789abcdef
  • iv : abcdef9876543210abcdef9876543210
  • Encrypted string : MwOfGGCYPBEpQ0ImKQsgyA==


위의 솔트 문자열은 파티 서버 및 클라이언트 프런트 엔드 측에서만 사용할 수 있는 공개 키입니다.


Cryptojs 및 AES를 사용하여 PHP에서 문자열 해독 


암호화 된 데이터를 일반 문자열로 변환하는 데 다음 PHP 코드 도움말이 있습니다.



2
3
4
5
6
7
8
9
<?php
$key = pack("H*", "0123456789abcdef0123456789abcdef");
$iv =  pack("H*", "abcdef9876543210abcdef9876543210");
$encrypted = base64_decode('MwOfGGCYPBEpQ0ImKQsgyA==');
$decrypt_string = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $encrypted, MCRYPT_MODE_CBC, $iv);
 
echo $decrypt_string;
 
?>


데이터 및 MCRYPT_RIJNDAEL_128 암호 키를 해독하기 위해 mcrypt_decrypt () 메서드를 사용하고 있습니다.


AES 및 PHP를 사용하는 기본 암호화 / 복호화 문자열에 대한이 PHP 자습서 도움말입니다. 이 코드를 자유롭게 사용하고 사용자 정의 할 수 있습니다.


아래 링크에서 소스 코드 및 데모를 다운로드 할 수 있습니다.


https://www.phpflow.com/demo/encrypt-decrypt-using-cryptojs-php-demo/


https://www.phpflow.com/php/encrypt-javascript-decrypt-string-php-using-aes-cryptojs/