如何在手机上搭建加密数据库

如何在手机上搭建加密数据库,第1张

用SQLCipher进行数据库加密。

SQLite目前已经是比较流行的数据存储 *** 作的API了。Android和iOS系统提供的API中 *** 作数据库默认均采用了SQLite方案。而SQLCipher是基于SQLite的加密数据库存取方案,集成相对比较快捷而且透明,在一定程度上保证了数据的安全。

代码设置:

如果你用的是系统sqlite3的API,则代码基本不用变,因为SQLCipher是基于系统的sqlite3API扩展的;

如果你用的是FMDB,更无需担心,因为FMDB是封装的系统sqlite3API;

唯一需要做的,就是初始化打开数据库文件sqlite3_open之后,紧跟着执行sqlite3_key设置数据库加密的密钥,于是sqlcipher集成工作就完成了。如果你用的是FMDB,可以直接用setKey方法;如果不是,也可以去FMDataBase.m源码中拷贝这个方法的逻辑,方便调用

给SQLite数据库加密解密的方法:

1、创建空的sqlite数据库。

//数据库名的后缀你可以直接指定,甚至没有后缀都可以

//方法一:创建一个空sqlite数据库,用IO的方式

FileStream fs = File.Create(“c:\\test.db“)

//方法二:用SQLiteConnection

SQLiteConnection.CreateFile(“c:\\test.db“)

创建的数据库是个0字节的文件。

2、创建加密的空sqlite数据库

//创建一个密码为password的空的sqlite数据库

SQLiteConnection.CreateFile(“c:\\test2.db“)

SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test2.db“)

SQLiteConnection cnn = new SQLiteConnection(“Data Source=D:\\test2.db“)

cnn.Open()

cnn.ChangePassword(“password“)

3、给未加密的数据库加密

SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test.db“)

cnn.Open()

cnn.ChangePassword(“password“)

4、打开加密sqlite数据库

//方法一

SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test2.db“)

cnn.SetPassword(“password“)

cnn.Open()

//方法二

SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder()

builder.DataSource = @”c:\test.db“

builder.Password = @”password“

SQLiteConnection cnn = new SQLiteConnection(builder.ConnectionString)

cnn .Open()

除了用上述方法给SQLite数据库加密以外,您还可以使用专业的文件加密软件将SQLite数据库加密。

超级加密 3000采用先进的加密算法,使你的文件和文件夹加密后,真正的达到超高的加密强度,让你的加密数据无懈可击。

超级加密3000使用起来,只要点击需要加密的文件的右键,即可轻松实现文件的加密。

解密只要双击已加密文件,输入密码即可轻松搞定。

方法一

使用phpmyadmin,这是最简单的了,修改mysql库的user表,

不过别忘了使用PASSWORD函数。

方法二

使用mysqladmin,这是前面声明的一个特例。

mysqladmin -u root -p password mypasswd

如:D:\Mysql\bin>mysqladmin -u root -p password admin

Enter password:(在此输入你原密码)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6670983.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存