System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,尤其涉及安卓端数据加解密方法、装置、设备及介质。
技术介绍
1、随着智能终端的普及和移动互联技术的发展,越来越多的业务开始向移动端转移,移动门户也以其便捷性成为重要的获客来源。在客户端开发中,经常会遇到将一些关键性数据保存在存储设备的场景,需要保证这些数据可随时读取且不会轻易丢失。
2、文件存储是安卓系统中最基本的数据存储方式,它不对存储的内容进行任何的格式化处理,直接将数据原封不动地保存到文件中,因而它比较适合用于存储一些简单的文本数据或二进制数据。由于文件以明文存储,容易受到攻击,甚至导致用户敏感信息泄露。
3、综上所述,需要一种加解密方法来实现对安卓端数据的保护,提高应用的安全性。
技术实现思路
1、本专利技术提供了安卓端数据加解密方法、装置、设备及介质,以实现对安卓端数据的保护,提高应用的安全性。
2、根据本专利技术的一方面,提供了一种安卓端数据加解密方法,包括:
3、基于第一随机字符串生成对应的sm4密钥;
4、通过安卓端密钥库机制生成rsa公钥和私钥,通过所述公钥对sm4密钥进行加密得到对应的加密sm4密钥;
5、在需要对数据进行加解密时,通过所述私钥对所述加密sm4密钥进行解密得到对应的sm4密钥,通过该sm4密钥对所述数据进行加解密。
6、可选的,所述基于第一随机字符串生成对应的sm4密钥,包括:
7、生成第二随机字符串,将所述第二随机字符串作为盐
8、对于每个所述第一随机字符串,从所述盐值中随机选择一目标盐值对当前第一随机字符串进行加盐处理,得到对应的sm4密钥。
9、可选的,所述从所述盐值中随机选择一目标盐值对当前第一随机字符串进行加盐处理,得到对应的sm4密钥,包括:
10、根据所述当前第一随机字符串与所述目标盐值得到字符组;
11、对所述字符组进行md5散列运算,得到对应的sm4密钥。
12、可选的,该方法还包括:
13、在得到所述字符组后,根据预设的替换规则对所述字符组中的字符进行替换,其中,所述替换规则包括至少一组字符之间的替换关系。
14、可选的,所述根据所述当前第一随机字符串与所述目标盐值得到字符组,包括:
15、通过分隔符将所述目标盐值和所述当前第一随机字符串合并得到所述字符组。
16、可选的,所述根据所述当前第一随机字符串与所述目标盐值得到字符组,包括:
17、将所述目标盐值和所述当前第一随机字符串进行拼接得到所述字符组。
18、可选的,通过该sm4密钥对所述数据进行加解密,包括:
19、确定所述数据对应的键值对的key值,对所述键值进行md5散列运算;
20、通过该sm4密钥对所示键值对的value部分进行加解密。
21、根据本专利技术的另一方面,提供了一种安卓端数据加解密装置,包括:
22、密钥生成单元,用于基于第一随机字符串生成对应的sm4密钥;
23、加密密钥生成单元,用于通过安卓端密钥库机制生成rsa公钥和私钥,通过所述公钥对sm4密钥进行加密得到对应的加密sm4密钥;
24、密钥应用单元,用于在需要对数据进行加解密时,通过所述私钥对所述加密sm4密钥进行解密得到对应的sm4密钥,通过该sm4密钥对所述数据进行加解密。
25、根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
26、至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的安卓端数据加解密方法。
27、根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的安卓端数据加解密方法。
28、本专利技术实施例的技术方案,基于第一随机字符串生成对应的sm4密钥;通过安卓端密钥库机制生成rsa公钥和私钥,通过所述公钥对sm4密钥进行加密得到对应的加密sm4密钥;在需要对数据进行加解密时,通过所述私钥对所述加密sm4密钥进行解密得到对应的sm4密钥,通过该sm4密钥对所述数据进行加解密。本专利技术的方案采用sm4算法加密存储持久化的键值对,并由安卓密钥库生成的rsa签名密钥管理sm4算法的密钥,实现了数据对在客户端的安全性存储,能够有效提升应用的安全性。
29、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.安卓端数据加解密方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于第一随机字符串生成对应的SM4密钥,包括:
3.根据权利要求2所述的方法,其特征在于,所述从所述盐值中随机选择一目标盐值对当前第一随机字符串进行加盐处理,得到对应的SM4密钥,包括:
4.根据权利要求3所述的方法,其特征在于,进一步包括:
5.根据权利要求3所述的方法,其特征在于,所述根据所述当前第一随机字符串与所述目标盐值得到字符组,包括:
6.根据权利要求3所述的方法,其特征在于,所述根据所述当前第一随机字符串与所述目标盐值得到字符组,包括:
7.根据权利要求1所述的方法,其特征在于,通过该SM4密钥对所述数据进行加解密,包括:
8.安卓端数据加解密装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的安卓端数
...【技术特征摘要】
1.安卓端数据加解密方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于第一随机字符串生成对应的sm4密钥,包括:
3.根据权利要求2所述的方法,其特征在于,所述从所述盐值中随机选择一目标盐值对当前第一随机字符串进行加盐处理,得到对应的sm4密钥,包括:
4.根据权利要求3所述的方法,其特征在于,进一步包括:
5.根据权利要求3所述的方法,其特征在于,所述根据所述当前第一随机字符串与所述目标盐值得到字符组,包括:
6...
【专利技术属性】
技术研发人员:于璐,李玺,李定坤,彭晓琪,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。