我對sqlcipher有一個普遍的問題.. sqlcipher的優勢在於用GnuPG或openssl直接加密數據庫的優勢在哪裏? 每當我想用sqlcipher進行加密/解密時,我都必須打開數據庫,附加一個新數據庫,對其進行加密/解密,然後將其導出到新數據庫中並將其解密。例如像這樣:sqlcipher的優點
echo "PRAGMA key='$1';select count(*) from sqlite_master;ATTACH DATABASE '$2/mydb-decrypt.db' AS plaintext KEY '';SELECT sqlcipher_export('plaintext');DETACH DATABASE plaintext;" | sqlcipher $2/mydb.db
這是非常臃腫,不是嗎? 隨着openssl或gnupg我可以直接用一個命令解密/加密它..
那麼爲什麼要使用sqlcipher?
你爲什麼要解密?在sqlcipher shell以及鏈接sqlcipher的應用程序中,您可以使用正確的密鑰打開數據庫並像使用任何常規SQLite數據庫一樣使用它。保持數據庫解密版本的目的是什麼? –
這不起作用..我如何用正確的密鑰打開sqlcipher數據庫?當我這樣做:sqlcipher database.db然後:'pragma key ='我的密碼';'它不解密我不能'SELECT * FROM表;' – Shibumi
然後其他的東西是錯誤的。這正是* sqlcipher的用途。你應該重寫這個問題(包括你用來打開和讀取數據庫的確切命令,以及你嘗試看到的確切錯誤),或者創建一個* new *問題。 –