> 백엔드 개발 > PHP 튜토리얼 > CentOS에서 PHP는 데이터베이스 암호화를 지원하기 위해 SQLCipher를 통해 sqlite3을 컴파일합니다.

CentOS에서 PHP는 데이터베이스 암호화를 지원하기 위해 SQLCipher를 통해 sqlite3을 컴파일합니다.

WBOY
풀어 주다: 2016-07-29 09:16:08
원래의
1576명이 탐색했습니다.

최근 프로젝트 요구로 인해 서버 측에서 생성된 sqlite를 암호화해야 합니다. 서버 백엔드는 PHP로 작성되었으며 운영 체제는 CentOS입니다. 오픈 소스 sqlite3에는 데이터베이스 암호화 인터페이스가 예약되어 있습니다. , 그러나 구현되지는 않았습니다.그래서 인터넷에서 발견한 SQLCipher는 sqlite3에서 구현하지 않는 암호화 기능을 구현하고, PHP의 sqlite3 확장을 다시 컴파일하여 sqlite 데이터베이스 암호화를 지원할 수 있습니다.

구체적인 작업은 공식 홈페이지 주소: https://www.zetetic.net/sqlcipher/sqlcipher-for-php/

공식 웹사이트에서의 작업은 시스템입니다. Ubuntu를 사용하면 여기에서 해당 명령을 CentOS에서 사용할 수 있도록 변환할 수 있습니다. 공식 웹사이트의 단계에 따라 성공적으로 컴파일하세요.

컴파일이 성공적으로 완료되면 sqlite3.so가 생성됩니다. 이전 서버 PHP 확장에서 sqlite3.so를 교체하면 됩니다(교체 후 백업을 만드는 것이 가장 좋습니다). 완료되면 Apache 서버를 다시 시작합니다.

내려와서 테스트합니다. 테스트 코드:

//비밀번호 12345678로 test.sqlite 파일을 생성합니다. 매개변수 6은 파일이 있으면 열고, 있으면 생성한다는 의미입니다. 구체적인 내용은 소스파일의 sqlite3.c를 참조하여 관련 내용을 확인하시기 바랍니다

$db=new Sqlite3("test.sqlite ",6,"12345678");

$db->exec("create table mytest (name varchar(200) )");

$db-> ;exec("insert mytest (이름) 값으로 ​​('aaaa')");

$result = $db->query('SELECT * FROM mytest');

print_f($result);

?>

결과가 출력된다면 sqlite3이 성공적으로 재컴파일되었다는 뜻이지만, 생성된 데이터베이스가 암호화되었는지 확인해야 합니다. 이전에 몇 가지 도구를 사용하여 test.sqlite를 열어보면 일반적으로 오류가 표시됩니다. 이는 sqlite가 성공적으로 암호화되었음을 의미합니다. 그나저나 공식 홈페이지에는 안드로이드와 IOS를 지원하는 단계도 있는데, 이는 공식 홈페이지에서 확인할 수 있습니다.

저작권 안내: 이 글은 다음과 같습니다. 블로거의 원본 기사이며 블로거의 허가 없이는 재인쇄할 수 없습니다. 위 내용은 CentOS에서 PHP가 SQLCipher를 통해 sqlite3을 컴파일하여 내용을 포함하여 데이터베이스 암호화를 지원하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿