最近项目中需要用到加解密功能,言外之意就是不想让人家在反编译后通过不走心就能获取文件里一些看似有用的信息,但考虑到加解密的简单实现,这里并不使用AES或DES加解密
为了对android中assets文件里的数据加密,我决定自己动手丰衣足食。
首先我们需要一个配置文件命名为config.properties
数据如下:
#sex信息
YB_APP_ID = wx1c7zxc5049b364e
NB_SEX_PARTNERID=128sd72701
WY_NOTI_KEY= eSJaA8ESk6xYiTIma0px4lYO0P7yBnzz
上述信息格式有些不整齐,但无关大雅,通过后续代码正好可以验证只要是类似的数据都会加密成功,因为我们会剔除带有”#”的数据注释,和两条数据之间的空格,以及通过”=”号分隔最终会把每一条数据之间的含有的空格也排除在外,所以”=”后面跟的数据会按照正确的方式被加密。
然后通过java代码如下:
//定义文件名
private static final String CONFIG_PROPERTIES = "config.properties";
//调用加密方法
public static void main(String[] args) {
//这里因为要传入输入路径和输出路径,所以要现在D盘上新建两个文件夹分别命名为encodeFile和myEncodedFile
//我将文件放在了电脑的D盘encodeFile文件夹下,
//并让它最后输出在D盘的myEncodedFile文件夹下
encodeFile("D:\\encodeFile\\" + CONFIG_PROPERTIES,"D:\\myEncodedFile\\"+ CONFIG_PROPERTIES);
}
/**
*加密文件
* @param inputPath 输入路径
* @param outputPath 输出路径
* @return 是否加密文件成功
*/
private static boolean encodeFile(String inputPath, String outputPath) {
File localFile =