How to Encrypt data saved in SQLite Using PhoneGap Application - android

I am developing a multi-platform application using PhoneGap targeting Android, Windows and iOs in the future.
How to secure the data saved on the device by Encryption, I am using SQLite DB.
After searching for a while I came across SQLChipher. Can any one suggest is this the right choice to use for encryption/secure data on the device.
Does it support both Android and Windows.
If there are any other encrypting methods that work for both Android and Windows please let me know.
My motive is to secure data on the device.
Thank you for your help in advance.
Much appreciated.
Rao

Related

How can I store a single database for multi device access in Delphi 10.3?

I am new to multi-device development in Delphi and I have a basic VCL background. I have worked with multiple projects that use locally stored databases for their functions etc.
Coding is a hobby and I want to learn more about mobile app development for personal usage. I am busy writing a simple application that serves as a scoring system for a card game that we invented. I am currently using SQLite local database to store data.
I am now looking for a way to have a single database that multiple devices can access so that any one of our android smartphones can run the application and interact with the data in that database.
At this stage, I don't really have extensive knowledge about what I am talking about and I want some advice regarding this problem. Is a single database the best solution? Is there perhaps a different approach?
I am familiar with basic FireDac syntax (TFDConnection, TFDQuery, and TFDTable), so I would prefer maybe keeping a FireDac infrastructure if possible.
I would prefer the solution to not be too complicated :)
I do hope that I presented the problem clearly. Please ask if something sounds unclear - I will try my best to elaborate.
I am using Delphi 10.3 (Community Edition)
There are many solutions to this problem. I won't expose all possibles but only the one I think is best:
You need a server somewhere in the cloud to keep data from different devices and you have to make your application communicate with that server. You can build server side with Delphi, or other tool.
I recommend a REST architecture over HTTPS using JSON format to send/receive data to/from devices.
Delphi has everything required to build both client (Your devices) and server side. Not sure for Community Edition. If not included in CE, you may use third party libraries to accomplish the same task.
You next step is to think about that solution, do some research by yourself, write some code and when you are stuck, ask another question on StackOverflow.

Encryption needed for PouchDB on Cordova App for Android

I am developing an hybrid application using Cordova. We have to cache some sensitive data and we picked PouchDB.
The business came to us and asked if any external application would be able to read the DB. I know that for sure IOS has encryption in the cip but Android doesn't have it as far as I know.
So the question is: should I encrypt the database using a PouchDB plugin for encryption or it is not needed?
Thank you for your answer.
No, in a normal environment, apps are sandboxed and no other app has access to the local storage/db of your app.
Edit: As noted by Alex, if the device is rooted then it can be accessed. So, yes if your are using sensitive data, you should encrypt.
You can always check if the device has been rooted as well.
Alternatively, you can use MongOGX which now supports encryption

Bidirectional Data Synchronization between android sqlite and Derby

We have build and Android app with sqlite db and a Windows program with JavaFX that can use either Derby db or sqlite db. Synchronization does not want to use a server yes old fashion wire form one device to another. So my question is has anyone found an open source API to accomplish this task? As a novice developer I might add that the perhaps the other fly in the soup is we would like to encrypt the data on both databases. This fly can be optional. The desktop development is using NetBeans and the Android development is the obvious Android Studio.
If anyone has a book or web site suggestion that would be great.
We can consider a NON FREE API with cost as a factor.

Which type of database should I use?

I have a question about which database I should use for my android and iOS apps. I have not messed with servers before so please excuse my ignorance.
Anyways, I am developing apps for a website that doesn't have a mobile version. The website has a MySQL database and uses phpMyAdmin as a control panel.
I need to figure out how to hook into the server. I know that java provides full support for SQLite databases and I know that they server hosters can install SQLite on the server for me.
What do you all think? MySQL or SQLite?
You should be using SQLite for any local databases to the Android app (CoreData for iOS).
Any interaction with your websites MySQL database should be handled through API calls.
There is a good PHP framework called Slim PHP that will make building your API extremely simple. It's documented very well. Slim PHP doesn't offer any form of ORM so I'd also recommend integrating with Idiorm/Paris, again their documentation is rather good so you shouldn't have a problem piecing this all together.
Of course you can opt for a larger PHP framework that has all of this in one place, such as Symfony.

Is it possible to use Couch DB or MySql or any other DB in Android?

We know that Android uses SQLite as its default database. My question is: Is it possible to replace this by CouchDB or MySql or any other database and successfully run it? Has anybody done this? I went through What are requirements to use CouchDB on Android?, and other questions in SO, but I'm not completely clear about it. It does seem possible to install CouchDB on Android, but as an app. I want to know if it's possible to replace SQLite with Couch or MySql or any other DB.
Any help will be highly appreciated. Thanks in advance.
You can indeed use CouchDB on Android.
Here's a video discussing CouchDB http://www.youtube.com/watch?v=3RdcKWYGqig
You will need an external SD card. It runs as a service so you can have multiple apps using CouchDB. It also has amazing replication capabilities. So if you need to sync with a master database then COuchDB makes this very easy.
There is more information available in this answer https://stackoverflow.com/a/4956789/808940
There are also some tutorials available on the web but to get started you can download the CouchDB app from Android Marketplace.
db4o runs on android, although it's an OODB, not an RDBMS. I suspect some Java-only DBs would run; Derby didn't at one point, H2 has at least some early support.
AFAIK, there is no other database you can use in android.

Categories

Resources