2016-07-29 15 views
0

Ich arbeite mit einer Datenbank, die ich versuche, sicher zu machen. Ich war in der Lage, die Datenbank zu erstellen und auf die darin enthaltenen Informationen zuzugreifen. Sobald ich jedoch versuche, die einzelnen Informationen innerhalb der Datenbank zu verschlüsseln, stoße ich in Schwierigkeiten. Ich benutze sqlite3 für meine Datenbank und openssl, um zu versuchen, die Datenbank zu verschlüsseln.Verschlüsseln einer Datenbank in 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) 

Dies funktioniert, wenn ich in eine bestehende Datenbank bin eingeführt wird, aber wenn ich eine neue Datenbank erschaffe es wird mir nicht die verschlüsselten Informationen lassen einfügen.

Antwort

0

Versuchen Sie folgendes:

 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)