
Simple Encryption in PHP.
composer require defuse/php-encryption
이 라이브러리는 PHP에서 키 또는 암호로 데이터를 암호화하기 위한 라이브러리입니다. PHP 5.6 이상과 OpenSSL 1.0.1 이상이 필요합니다. 저희는 아직 보안 지원이 유지되는 PHP 버전을 사용할 것을 권장합니다. 작성 시점 기준으로 이는 PHP 8.0 이상을 의미합니다. 지원되지 않는 PHP 버전에서 이 라이브러리를 사용하면 보안 취약점이 발생할 수 있습니다.
현재 php-encryption의 버전은 v2.4.0입니다. 이 라이브러리는 최소 2024년 1월 1일까지 보안 수정과 버그 수정을 통해 안정적으로 유지되고 작성자들의 지원을 받을 것으로 예상됩니다.
이 라이브러리는 Taylor Hornby와 Scott Arciszewski 및 많은 오픈소스 기여자들이 공동으로 만든 결과물입니다.
이 라이브러리가 다른 PHP 암호화 라이브러리와 다른 점은, 첫째, 안전하다는 것입니다. 작성자들은 이전에 매일 안전하지 않은 PHP 암호화 코드를 접하곤 했으며, 그래서 생태계에 더 많은 보안을 가져오기 위해 이 라이브러리를 만들었습니다. 둘째, 이 라이브러리는 "오용하기 어렵습니다." libsodium과 마찬가지로 API가 안전한 방식으로는 쉽게 사용하고 안전하지 않은 방식으로는 어렵게 사용하도록 설계되었습니다.
이 라이브러리는 OpenSSL 확장(버전 1.0.1 이상)이 활성화된 PHP 5.6 이상(이것이 기본값) 외에 특별한 의존성이 필요하지 않습니다. 이 라이브러리에는 random_compat이 번들로 포함되어 있어 사용자가 특별한 설치 절차를 따를 필요가 없습니다.
튜토리얼부터 시작하세요. 이 라이브러리의 코드를 안전하게 얻는 방법에 대한 지침은 설치 및 확인 문서에서 찾을 수 있습니다.
튜토리얼을 읽고 코드를 확보한 후에는 이 라이브러리가 제공하는 각 클래스에 대한 공식 문서를 참조하세요:
문제가 발생하면 FAQ 답변을 참조하세요. 가장 흔히 보고되는 문제에 대한 해결책이 설명되어 있습니다.
암호학 전문가로서 이 라이브러리가 작동하는 방식의 세부 사항을 이해하고 싶다면 암호화 세부 정보 문서를 살펴보세요.
이 라이브러리에 기여하는 데 관심이 있다면 내부 개발자 문서를 참조하세요.
이 라이브러리는 저장 데이터를 암호화해야 하는 서버 측 PHP 소프트웨어를 대상으로 합니다. 클라이언트 측에서 암호화해야 하는 소프트웨어를 구축하거나, 플랫폼 간 암호화/복호화 지원이 필요한 시스템을 구축하는 경우 libsodium을 대신 사용할 것을 강력히 권장합니다.
문서만으로 이 라이브러리 사용법을 이해하기 어렵다면, 이 라이브러리를 사용하는 예제 프로젝트를 살펴볼 수 있습니다:
이 코드는 공식적인 유료 보안 감사를 받지 않았습니다. 그러나 PHP 보안 커뮤니티 구성원들로부터 많은 리뷰를 받았으며, 작성자들은 암호화 분야에 경험이 있습니다. 십중팔구 이 라이브러리를 사용하는 것이 PHP용 다른 거의 모든 암호화 라이브러리를 사용하는 것보다 안전할 것입니다.
이 라이브러리를 비즈니스의 일부로 사용하고 공식 감사 자금을 지원하려면 Taylor Hornby에게 문의하세요.
현재 및 새 릴리스 서명에 사용된 GnuPG 공개 키는 dist/signingkey-new.asc에서 확인할 수 있습니다. 지문은 다음과 같습니다:
6DD6 E677 0281 5846 FC85 25A3 DD2E 507F 7BDB 1669
Taylor Hornby의 연락처 페이지 및 트위터에서 이를 검증할 수 있습니다.
이전 릴리스는 dist/signingkey-old.asc에 있는 (현재 만료된) 키로 서명되었습니다. 이전 키의 지문은 다음과 같습니다:
2FA6 1D8D 99B9 2658 6BAC 3D53 385E E055 A129 1538
이전 키의 지문은 Taylor Hornby의 연락처 페이지 및 트위터에서 검증할 수 있습니다.
이전 키가 이 새 키에 서명한 서명은 dist/signingkey-new.asc.sig에서 확인할 수 있습니다.