XE 공식 자료실

제작자
기진곰
등록일
2015-06-12
다운로드 수
653
링크2
kijin/xe-encryption

XE 모듈이나 애드온 개발자가 편리하고 안전하게 사용할 수 있는 대칭키(AES) 및 비대칭키(RSA) 암호화 루틴을 제공하는 모듈입니다. 모듈 설정 페이지에서 암호화 키를 생성한 후, 암호화 기능이 필요한 모듈이나 애드온에서 직접 호출하면 됩니다.

라이선스
LGPL v2
설치경로
./modules/encryption
최초 등록일
2015-03-14
전체 다운로드
984
체험하기

쉬운설치로 바로 체험할 수 있습니다

상세 설명

주의: XE 추가기능 개발자들을 위한 모듈입니다. 암호화 기능이 필요한 소스코드에서 호출하여 쓸 수 있습니다. 이 모듈을 설치하는 것만으로 자동으로 암호화가 되지는 않습니다.

대칭키 암호화를 사용하려면 mcrypt 또는 openssl 모듈이 필요합니다.

비대칭키 암호화를 사용하려면 openssl 모듈이 반드시 필요합니다.

키는 서버의 난수 생성기를 사용하여 자동으로 생성되며, DB 또는 별도의 파일에 저장하도록 설정할 수 있습니다.

 

AES 암호화 예제

    $plaintext = '내일 오후 3시에 아지트에서 만나자';
    $oEncryption = getModel('encryption');
    $ciphertext = $oEncryption->aesEncrypt($plaintext);

    $ciphertext = '암호화된 문자열';
    $oEncryption = getModel('encryption');
    $plaintext = $oEncryption->aesDecrypt($ciphertext);

그 밖의 예제 및 주의사항은 GitHub 페이지의 README.md 파일을 참고하시기 바랍니다.

 

업데이트 내역

버전 1.1에서는 mcrypt 모듈의 잘못된 블록 크기 선택 및 널바이트 패딩 버그를 우회하는 코드를 적용하고, 평문을 불필요하게 압축하지 않도록 변경하였습니다. (1.0 버전에서 암호화한 데이터는 1.1 버전 이상에서도 아무 문제 없이 복호화가 가능하나, 1.1 버전 이상에서 암호화한 데이터는 1.0 버전에서 복호화할 수 없으니 주의하시기 바랍니다. 여러 사이트 사이에 데이터를 공유하는 경우, 모두 1.1 버전 이상으로 업데이트해야 합니다.)

버전 1.2에서는 PHP 5.4 이상에 openssl 모듈이 설치되어 있는 경우 AES 하드웨어 가속 기술을 사용하도록 하고, 설정 화면의 몇 가지 버그를 수정하였습니다. 하드웨어 가속을 사용하면 암호화 및 복호화 속도가 3~5배 빨라집니다.

 

포럼 0

로그인 후 작성할 수 있습니다.