浅谈android 加密实现

一、android常用的加密方式

加密指的是客户端与服务器传输过程中对数据的安全性操作。常用的有对称加密AES和非对称加密RSA。

1、RSA加密,用1024位密钥长度为主。通过生成的私钥进行解密,公钥进行加密。统称服务器和客户端会有两对(公钥和私钥),

利用公钥加密生成的二进制数组,然后利用PKCS8编码进行编码之后,生成可读性的文本,才能供给代码使用。

2、AES加密,利用密钥随机库生成对应长度的密钥(通常128位),可以在密钥串中截取部分长度作为真是密钥进行文本加密,再将加密后的

(Base64编码)数据和随机生成的密钥发送至服务器。

3、APK加密,对于前两种都是对传输过程中数据的操作,而对于apk本身的加密处理,也就是对DEX的加密。本身市面上可能也有很多加固公司,可以提供不错的服务,达到APK加密的目的。对于能动手的同学,我们还是尽量自己动手搞定。


二、密钥常用的几种存储方式

通过调用API使密钥和数据内容进行加密运算,最终将得到的加密字符串传输到服务器端。对于Api内部具体如何实现的,需要跟踪查询。

我们做的更多是对密钥的安全性处理。针对不同的安全级别程度,由低至高,大致分为以下几种处理。

第一、用sharepreference存储密钥,随用随取。

第二、采取代码存储密钥或者代码段分段村粗密钥,放在内存中。

第三、采用so文件内部进行加密、解密、存储密钥。此种方法除专业人事再次破译。

第四、采用so文件内部对密钥进行处理,添加花指令,存储到普通文件中,当需要使用时,利用so文件提出花指令,并解密。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容