网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
}
我这里定义的算法主要输出的是数字,在实际开发中你也可以定义一些类似的算法。
第二部分:BuildConfig.AES_KEY_PART2
这里主要是通过gradle的配置来自动生成AES_KEY_PART2这个常量。具体操作如下:
打开Module下的build.gradle文件,在android标签下的buildTypes下添加配置。
buildTypes {
release {
buildConfigField “boolean”, “LOG_DEBUG”, “true”//显示Log
buildConfigField “String”, “AES_KEY_PART2”, "“3456"”
minifyEnabled false
proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’
}
debug {
buildConfigField “boolean”, “LOG_DEBUG”, “false”//不显示Log
buildConfigField “String”, “AES_KEY_PART2”, "“3456"”
minifyEnabled false
proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’
}
}
如上所见,我使用buildConfigField关键字添加了LOG_DEBUG和AES_KEY_PART2两个字段。LOG_DEBUG用以控制是否输出并显示Log。在添加完配置之后,就可以Rebuild项目了,然后你就可以打开自动生成的BuildConfig类,这时候你添加的常量就在此类当中了。
public final class BuildConfig {
// …
public static final String AES_KEY_PART2 = “3456”;
public static final boolean LOG_DEBUG = false;
}
需要注意的是,在定义字符串(尤其是数字字符串)的时候,一定要定义成:
buildConfigField “String”, “AES_KEY_PART2”, "“3456"”
而不是
buildConfigField “String”, “AES_KEY_PART2”, “3456”
原因是第一种方式的话会在BuildConfig中生成
public static final String AES_KEY_PART2 = “3456”;
而第二种方式则会在BuildConfig中生成
public static final String AES_KEY_PART2 = 3456;
第二种自然就会报编译错误了。
第三部分:CommonUtil.getString(R.string.AES_KEY_PART3)
在我的strings.xml中定义了一个字符串:
7890
第四部分:MyConstant.AES_KEY_PART4
在我的MyConstant类中定义了一个常量:
String AES_KEY_PART4 = “!@#$%^”;
总结
上面介绍的密钥存储方式极大的增加了逆向的难度,辅以代码混淆等手段,在很大程度上提高了密钥存储的安全性。总体来说,在App端保存密钥并无法完全保证密钥的安全性,只能通过一些手段增加被反编译的难度。
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网络安全面试题
绿盟护网行动
还有大家最喜欢的黑客技术
网络安全源码合集+工具包
所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!