2016-07-29 49 views
0

我正在使用我試圖使其安全的數據庫。我已經能夠創建數據庫並訪問其中的信息。但是,一旦我嘗試加密數據庫中的單個信息,我就會遇到麻煩。我爲我的數據庫使用sqlite3,並使用openssl嘗試加密數據庫。在Lua中加密數據庫

local users = [[CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, username, password);]] 
    db:exec(users) 

    local nameData = cipher:encrypt (nameField.text, "sbs_math_key") 
    local passData = cipher:encrypt (passwordField.text, "sbs_math_key") 

    local tablefill =[[INSERT INTO users VALUES (NULL, ']].. nameData ..[[',']].. passData ..[['); ]] 
    db:exec(tablefill) 

這工作,如果我插入到現有的數據庫,但如果我創建一個新的數據庫,它不會讓我插入加密信息。

回答

0

試試這個:

 local nameData = mime.b64 (cipher:encrypt (nameField.text, "sbs_math_key")) 
     local passData = mime.b64 (cipher:encrypt (passwordField.text, "sbs_math_key")) 

     print("Before : "..nameData) 

     local tablefill =[[INSERT INTO users VALUES (NULL, ']].. nameData ..[[',']].. passData ..[['); ]] 
     db:exec(tablefill) 

     message = cipher:decrypt (mime.unb64 (nameData), "sbs_math_key") 

     print("After : "..message)