요약: Mcrypt 2.4.7은 다음 알고리즘을 포함하여 22개의 알고리즘을 포함하는 강력한 암호화 알고리즘 확장 라이브러리입니다.
Blowfish RC2 Safer-sk64 xtea
Cast-256 RC4 세이퍼-sk128
DES RC4-iv 뱀
수수께끼 Rijndael-128 Threeway
고스트 Rijndael-192 TripleDES
LOKI97 Rijndael-256 Twofish
PanamaSaferplus Wake에
Mcrypt를 설치하는 방법은 무엇입니까
?Mcrypt는 표준 PHP 패키지에 포함되어 있지 않으므로 다운로드해야 합니다. 다운로드 주소 는 ftp://argeas.cs-net.gr/pub/unix/mcrypt/ 입니다. 다운로드한 후 다음과 같이 PHP에서 컴파일하고 확장합니다.
Mcrypt 패키지를 다운로드합니다.
gunzipmcrypt-xxxtar.gz
tar -xvfmcrypt-xxxtar
./configure --disable-posix-threads
만들다
설치하다
PHP 디렉토리로 cd하세요.
./configure -with-mcrypt=[dir] [--other-configuration-directives]
만들다
make install은
요구 사항 및 PHP 설치에 따라 서버를 적절하게 수정합니다.
Mcrypt 확장 라이브러리를 사용하여 데이터를 암호화하는 방법은 무엇입니까?
먼저 Mcrypt 확장 라이브러리를 사용하여 데이터를 암호화하는 방법을 다룬 다음 이를 사용하여 해독하는 방법을 다룹니다. 다음 코드는 먼저 데이터를 암호화한 다음 암호화된 데이터를 브라우저에 표시하고 암호화된 데이터를 원래 문자열로 복원하여 브라우저에 표시합니다.
Mcrypt를 사용하여 데이터 암호화 및 해독
<?php
//암호화할 문자열 지정
$string = "Bruce Schneier의 Applied Cryptography는 다음과 같습니다.
훌륭한 암호화 참조입니다.";
// 암호화/복호화 키
$key = "4점 20년 전"
// 암호화 알고리즘
$cipher_alg = MCRYPT_RIJNDAEL_128;
// 보안 강화를 위한 초기화 벡터를 생성합니다.
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher_alg,
MCRYPT_MODE_ECB), MCRYPT_RAND);
// 원본 문자열 출력
print "원래 문자열: $string
";
// $string 암호화
$encrypted_string = mcrypt_encrypt($cipher_alg, $key,
$string, MCRYPT_MODE_CBC, $iv);
// 16진수로 변환하여 브라우저에 출력
인쇄 "암호화된 문자열: ".bin2hex($encrypted_string)." "
";
$decrypted_string = mcrypt_decrypt($cipher_alg, $key,
$encrypted_string, MCRYPT_MODE_CBC, $iv);
인쇄 "복호화된 문자열: $decrypted_string";
?>
위 스크립트를 실행하면 다음과 같은 출력이 생성됩니다.
원본 문자열: Bruce Schneier의 Applied Cryptography는 훌륭한 암호화 참조입니다.
541f7ebcecf62b c89fde4d8e7ba1e6cc9ea24850478c11742f5cfa1d23fe22fe8 bfbab5e
해독된 문자열: Bruce Schneier의 Applied Cryptography는 훌륭한 암호화 참조입니다.
위 코드에서 가장 일반적인 두 가지 함수는 mcrypt_encrypt()와 mcrypt_decrypt()이며 용도는 분명합니다. 우리는 "Telegraph Codebook" 모드를 사용했습니다. Mcrypt는 여러 암호화 방법을 제공합니다. 각 암호화 방법에는 비밀번호 보안에 영향을 줄 수 있는 특정 문자가 있으므로 각 모드를 이해해야 합니다. 암호화 시스템에 노출되지 않은 독자의 경우 mcrypt_create_iv() 함수에 더 관심이 있을 수 있습니다. 이 함수가 생성하는 초기화 벡터(따라서 iv)는 각 정보를 서로 독립적으로 만들 수 있습니다. 모든 모드에서 이 초기화 변수가 필요한 것은 아니지만 필수 모드에서 이 변수가 제공되지 않으면 PHP는 경고 메시지를 표시합니다.