본문 바로가기
Engineering/DB

[sqlcipher4] sqlcipher4로 암호화된 sqlite 파일에 CLI로 데이터 업데이트 방법

by 알탱2 2023. 8. 7.
반응형

ubuntu 20.04 기준이며, 검증 대상 application 에서 sqlite를 사용하는데 sqlcipher3이 아닌 splcipher4로 암호화가 되어 있었고, GUI가 설치되지 않은 상태라 실시간으로 데이터에 접근하고 데이터를 변경하기 위해 browser 형태의 toolkit 사용이 불가능하였다.

해당 상황에서 CLI로 실시간 업데이트 방법을 찾아 아래와 같이 설치 및 데이터를 변경해 보았다.

 

sqlcipher v4 설치

: apt-get install sqlcipher 로 설치하게 되면 v3 으로 설치가 되기 때문에 아래와 같이 source 로 설치해야 함

sudo apt-get install build-essential tclsh pkg-config libssl-dev
git clone https://github.com/sqlcipher/sqlcipher.git
cd sqlcipher
./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto"
make
make install
sqlcipher -version

: 위와 같이 설치 후 버전 확인 결과 아래와 같이 버전이 확인되었음 (설치일 : 2023.08.03)

: 3.41.2 2023-03-22 11:56:21 (생략) (SQLCipher 4.5.4 community)

 

 

 

sqlcipher CLI로 db에서 query 하기

db 파일 열기 > password 입력하기

PRAGMA key='{DB 접근 비밀번호 입력}'; : 여기에 실제 비밀번호 입력해야 함

$sudo /usr/local/bin/sqlcipher /home/test/test.db
SQLite version 3.41.2 2023-03-22 11:56:21 (SQLCipher 4.5.4 community)
Enter ".help" for usage hints.
sqlite> PRAGMA key='{DB 접근 비밀번호 입력}';
ok

 

query 하기

sqlite> update t_testtable set status='success' where id=100;
sqlite>

 

db 파일 닫기(종료)

sqlite>
sqlite> .quit

 

반응형

댓글