Ionicプロジェクトでデータベースを暗号化したいのですが、暗号化なしで私は任意のデバイスにapkをインストールし、rootとしてストレージにアクセスすることができます。私はすべての私のデータとテーブルの構造を見ることができます後にsqlbrowserのような任意のSQLエディタ!soniccipherを実装してIonicプロジェクトを暗号化する方法
だから、そのために、我々は、データベースをouer暗号化する必要があり、
主な問題、SQLCipherプラグインコルドバについて多くの話が、ないtutorielやイオンのプロジェクトに実装するには、次のステップがありません、あなたは、Android上のステップを発見したことができますまたはiOS ..
これは、私たちがIonicプロジェクトのネイティブ部分にデータベースの暗号化を実装できることを意味しますか?解決策は明確ではないか、それがどのように機能するのか! NPMプラグインの
リンクenter link description here
これはテストのために私のコードです:
.factory( 'NotesDataService'、関数($ cordovaSQLite、 $ ionicPlatform){ のvarデシベル、DBNAME = " noteDemo.db」
function useWebSql() { db = window.openDatabase(dbName, "1.0", "Note database", 200000) console.info('Using webSql') } function useSqlLite() { db = $cordovaSQLite.openDB({name: dbName}) console.info('Using SQLITE') } function initDatabase(){ $cordovaSQLite.execute(db, 'CREATE TABLE IF NOT EXISTS T_NOTE (id integer primary key, title, content)') .then(function(res){ }, onErrorQuery) } $ionicPlatform.ready(function() { if(window.cordova){ useSqlLite() } else { useWebSql() } initDatabase() }) function onErrorQuery(err){ console.error(err) } return { createNote: function (note) { return $cordovaSQLite.execute(db, 'INSERT INTO T_NOTE (title, content) VALUES(?, ?)', [note.title, note.content]) }, updateNote: function(note){ return $cordovaSQLite.execute(db, 'UPDATE T_NOTE set title = ?, content = ? where id = ?', [note.title, note.content, note.id]) }, getAll: function(callback){ $ionicPlatform.ready(function() { $cordovaSQLite.execute(db, 'SELECT * FROM T_NOTE').then(function (results) { var data = [] for (i = 0, max = results.rows.length; i < max; i++) { data.push(results.rows.item(i)) } callback(data) }, onErrorQuery) }) }, deleteNote: function(id){ return $cordovaSQLite.execute(db, 'DELETE FROM T_NOTE where id = ?', [id]) }, getById: function(id, callback){ $ionicPlatform.ready(function() { $cordovaSQLite.execute(db, 'SELECT * FROM T_NOTE where id = ?', [id]).then(function (results) { callback(results.rows.item(0)) }) }) } }})
私はそのように引数を追加した場合でも、動作しませんでした。
デシベル= $ cordovaSQLite.openDB({名:DBNAME、パスワード: "secret2"})