欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android开发中数据加密实现方法

程序员文章站 2023-11-24 23:28:58
android开发中数据实现方法。 1)android 数据加密 数据安全很重要,无论干什么都需要密码,各种账号密码一旦泄露造成财产的损失,但是android对数据安全支持很弱,并没有很好的数据保密...

android开发中数据实现方法。

1)android 数据加密

数据安全很重要,无论干什么都需要密码,各种账号密码一旦泄露造成财产的损失,但是android对数据安全支持很弱,并没有很好的数据保密措施。

2)eg: 在使用sharedpreferences 时,它是操作一个xml配置文件的,保存的地址在data/data/应用报名/shared_prefs/***.xml,打开文件全部都是明文,

使用也不安全,数据库文件具体路径在data/data/database/***.db,如果未经加密处理,

通过sqlite的管理工具,也能轻松的查看数据库中存储的各种信息,

所以我们需要使用加密文件:

 

加密算法有很多种: md5 rsa aes 3des

 

1)md5:

他是不可逆的加密算法,也就是无法解密,主要用于客户端用户密码加密,

无论原始字符串是什么,md5加密字符串都是32位的十六进制字符串

 

2)rsa :

算法在客户端使用公钥加密,在服务端使用私钥解密,这样一来,即时加密的公钥被泄密,没有私钥仍然无法解密,

rsa加密的3个注意事项:

1)需要导入加密算法依赖包,bcprov-jdk16-1.46.jar 将该jar包放在当前板块的libs目录下

2)rsa加密的结果是字节数组,经过base64编码才能形成最终的加密字符串,

3)根据需求对加密的字符串做reverse倒序处理;

 

3) aes加密

aes是设计用来替换des的高级加密算法,该算法是可逆算法,支持对加密字符串进行解密,解密时秘钥必须与加密时一致。

 

4)3des 加密

3des是三重数据加密算法,相当于对每个数据块应用3次des加密算法,因为原先des算法的秘钥长度过短,容易遭到暴力,所以3des算法是通过增加秘钥的长度防范加密数据被破解,在实际开发中,3des的秘钥必须是24位字节数组,另外,3des加密生成的字节数组,也得通过base64编码为文本形式的加密字符串。

该算法与aes一样是可逆的,支持对加密字符串进行解密,解密时秘钥必须与加密时一致。