android数据库加密
写过一些取电话号码的东西,没有出现过乱码。你看看是不是字段之类的取的问题。
下面是取电话号码的一段代码,不会出乱码。你参考一下吧
//得到ContentResolver对象
ContentResolver cr = getContentResolver();
//取得电话本中开始一项的光标
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext())
{
// 取得联系人名字
int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String name = cursor.getString(nameFieldColumnIndex);
string += (name);
// 取得联系人ID
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "
+ contactId, null, null);
// 取得电话号码(可能存在多个号码)
while (phone.moveToNext())
{
String strPhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
string += (":" + strPhoneNumber);
}
string += "\n";
phone.close();
}
cursor.close();
Ⅱ android怎么保证用户名密码安全
如果是保存在本地数据库,在设置里面修改用户密码通常会有一个设置,那就更新本地数据库里的密码。
如果你的帐号信息是保存在服务端的,把新密码提交到服务端就好了
在该Activity中用map或者namevalue装载修改的密码和其他必须的参数android开发中,更新数据库,用户的密码肯定是放在服务器端的数据库中的,写个异步任务类。)。至于密码类型长度这些要求的判断最好直接在装载数据前就判断。手机端只是一个请求。如果服务器端都不允许你修改密码,这一点毫无疑问,然后进行更新。若要实现用户密码的修改,那么原理就是根据用户注册时返回的userid(通常用sharedpreference用户手机本地文件中)来查询服务器端的数据库中该用户的账号密码数据,首先服务器端必须要有用户修改密码的端口,那么这一功能根本不可能实现。
若是服务器端允许用户修改密码,服务器读取用户请求。用户发出修改密码这样的请求后,更多的操作要放在服务器端。大致是,写好用户修改密码的页面之后,服务器根据用户提交的信息对数据库更新,然后在提交按钮的的监听事件里发送请求至服务器(当然发送请求获取数据这些操作别放进主线程。
详细做法无法赘述,减轻服务器压力
写一个设置界面,设置修改密码的按钮然后添加事件不就好了
Ⅲ android把加密算法放在so里面 怎么办
1.比如我现在在用net.sqlcipher.database 这个加密库(网上能搜得到的,用于数据库加密)。 那么我现在就在项目用加载这个jar包(在你的项目单击右键-》属性-》java Build Path-》Libraries-》Add Jars,选择提供给你的jar包,我这里是 sqlcipher.jar,然后在Order and Export勾选你刚刚加载的 jar包。)
2.打开你的workspace目录,在你的项目目录下创建一个文件夹libs(如果文件夹不存在的话),然后将提供给你的so库放入该目录,基本架构就算是搭建好了。
3.进行开发,这里你需要问一下提供给你jar包的厂家,基本的用法,否则的话是无法进行开发的,因为你都不知道怎么去用。 sqlcipher的基本用法是:
SQLiteDatabase.loadLibs(this); //加载 so库文件,你的厂家的方法应该也是类似。
File databaseFile = getDatabasePath(SQLite_toll.DATABASE_NAME);
databaseFile.mkdirs();
databaseFile.delete();
SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(databaseFile, helper_SharedPreferences.get_str_sp("database_cipher",this), null);
SQLite_toll initToll = new SQLite_toll(this, avaSys);
initToll.onCreate(database);
database.close();
//因为我sqlcipher是用于数据库加密的,所以你所看到的都是数据库的一些方法,你厂家提供给你的jar包的用法,你是要去问他们的,或者他们的是否有开源代码,又或者是网上也有很多人使用,那么能搜到相关资料。
根据你补充的提问,那么就是System.loadLibrary(this); ,就可以调用了
Ⅳ SQLCipher android 数据库加密 couldn't find "libsqlcipher.so"
错误描述:
java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader[DexPathList[[zip file"/data/app/org.xiao-2/base.apk"],nativeLibraryDirectories=[/data/app/org.xiao-2/lib/arm64,/data/app/org.xiao-2/base.apk!/lib/arm64-v8a,/vendor/lib64,/system/凯消lib64]]]couldn'tfind"libsqlcipher.so"
解决方案:
adb root
adb push \sqlcipher\android-database-sqlcipher-4.2.0\jni\arm64-v8a\libsqlcipher.so /system/lib64/
adb push \老厅sqlcipher\android-database-sqlcipher-4.2.0\jni\盯含知armeabi-v7a\libsqlcipher.so /system/lib/
Ⅳ android怎么做到断电瞬间将数据存到数据库中,我的adroid机器是没电池的,所以写了个监听拔电广播但不行
断电瞬间配早就1s,Android用的数行卖颂据库是SQLite,1s之档郑内你把手机所有数据存到你创建的数据库,你在和我开玩笑嘛?每个APP都有数据库有数据表,而且是加密的,你第一步读取加密数据库都不行,还怎么复制出来
Ⅵ 安卓系统的 微信登录过的帐号信息 存在哪个文件夹里
微信对应的文件夹是你的SD卡里Tencent/MicroMsg,你可以删除的,删除后系统会重新生成的!
安卓系统的安装文件格式是APK格式,下面给你讲讲系统APK和一般用户APK的一些知识:
APK是Android Package的缩写,即Android安装包。
APK安装可以通过以下四种方式:
1. 系统应用安装,开机时完成系统应用的检查,没安装就安装,安装就跳过,无安装界面。
2. 网络下载应用安装,通过market应用完成,无安装界面。
3. ADB工具安装,无安装界面
4. 通过SD卡来安装apk,有安装界面,由packageinstaller.apk应用处理安装及卸载过程的界面。
应用安装涉及到如下几个目录:
system/app 系统自带的应用程序,无法删除
data/app 用户程序安装的目录,有删除权限
data/data 存放应用程序的数据
Data/dalvik-cache 将apk中的dex文件安装到dalvik-cache目录下
(dex文件是dalvik虚拟机的可执行文件,其大小约为原始apk文件大小的四分之一)
系统预装的程序放在/system/app 目录,还是以apk格式保存
自行安装的程序放在 /data/app/ 目录,也是以apk保存
在/data/data/目录下,就是应用程序的数据目录, 一般是应用程序package的名字
比如在 AndroidManifest.xml定义了 package=”wei.li”, 那么/data/data/ 下应该有个 package的目录
在/data/dalvik-cache 下会对dex进行缓存,以date@app@+package的名字[email protected] 文件名格式存在。
Ⅶ 在android中如何打开加密过的sqlite数据库
在ANDROID中,应用的数据是私有的,你要得到其他应用的数据,可以通过ContentProvider来实现。
Ⅷ 在android中如何打开加密过的sqlite数据库
在ANDROID中,应用的数岁圆迟据是私有的,你要得到其他应用的数乎李据腔指,可以通过ContentProvider来实现。
Ⅸ 在Android开发中用GreenDao操作SQLite数据库后,SQLite数据库用SQLite Expert Personal无法正常打开
});//alert($('#modifyCustomerForm').validate().form());return$('#modifyCustomerForm').validate().form();},url:"addCustomerAction.action",type:"POST",error:function(){showDialog("error");},success:function(data){$("#dialog").dialog("提示");$("拍陪物#dialog"袭液).text("修改成乱穗功");$('#dialog').dialog({modal:true,buttons:{确定:function(){document.location="searchCustomerAction.action?page=1";}