4 宝宝也要写博客

尚未进行身份认证

暂无相关描述

等级
TA的排名 17w+

Android 混淆机制详解

前言混淆是增加逆向工程和破解的难度,防止App知识产权被窃取的一个有力手段,高级的代码混淆甚至可以有效地保护存储在客户端的密钥,同时混淆也有很多要注意的地方。从广义上讲,Android中的混淆包括三种类型java代码的混淆Native(C&C++)代码的混淆资源文件的混淆java代码的混淆java代码的混淆在Android中是最为常见的一种混淆...

2018-08-20 13:30:14

Android 数据加密之Rsa加密

什么是Rsa加密RSA算法是最流行的公钥密码算法,使用长度可以变化的密钥。RSA是第一个既能用于数据加密也能用于数字签名的算法。RSA算法原理如下:1.随机选择两个大质数p和q,p不等于q,计算N=pq;2.选择一个大于1小于N的自然数e,e必须与(p-1)(q-1)互素。3.用公式计算出d:d×e=1(mod(p-1)(q-1))。4.销毁p和q。RSA...

2018-08-17 13:31:21

Android数据加密之Aes加密

项目中除了登陆,支付等接口采用rsa非对称加密,之外的采用aes对称加密,今天我们来认识一下aes加密。什么是aes加密高级加密标准(英语:AdvancedEncryptionStandard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。生成一个密钥/**...

2018-08-17 10:50:46

Android数据加密之DES加密

DES加密介绍:DES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。DES加密算法出自IBM的研究,后来被美国政府正式采用,之后开始广为流传,但是近些年使用越来越少,因为DES使用56位密钥,以现代计算能力,24小时内即可被破解DES加密使用方式:1.DesUtil常量类介绍privatefinalstaticStringHEX="0...

2018-08-16 11:18:41

Android数据加密之Base64编码算法

前面学习总结了平时开发中遇见的各种数据加密方式,最终都会对加密后的二进制数据进行Base64编码,起到一种二次加密的效果,其实呢Base64从严格意义上来说的话不是一种加密算法,而是一种编码算法什么Base64算法Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64并不是安全领域的加密算法,其实Base64只能算是一个编码算法,对数据内容进行编码来适合传输。...

2018-08-15 11:03:11

Android 数据加密之异或加密算法

什么是异或加密异或运算中,如果某个字符(或数值)x与一个数值m进行异或运算得到y,则再用y与m进行异或运算就可以还原为x,因此应用这个原理可以实现数据的加密解密功能。异或运算使用场景两个变量的互换(不借助第三个变量)数据的简单加密解密异或加密解密实现1.固定key的方式这种方式加密解密算法一样publicbyte[]encrypt(byt...

2018-08-15 10:33:54

Android 数据加密之MD5

什么是MD5加密?MD5英文全称“Message-DigestAlgorithm5”,翻译过来是“消息摘要算法5”,由MD2、MD3、MD4演变过来的,是一种单向加密算法,是不可逆的一种的加密方式MD5加密有哪些特点?压缩性:任意长度的数据,算出的MD5值长度都是固定的。容易计算:从原数据计算出MD5值很容易。抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到...

2018-08-15 10:10:55

Android 单元测试之Mockito框架的使用

前序首先我们要理解mock的概念,然后学习使用mock来做单元测试。关于Mock的框架有很多,比如Mockito、PowerMock、EasyMock等等,本文主要介绍Mockito的用法,各种框架的对比不在本文阐述范围,而且此类框架大体相同,只需要学习其中一个就能轻松地学习其他框架,没必要纠结那个框架才是最好的Mock的概念首先要明白为什么要用Mock,什么是Mock,Mock能...

2018-08-13 15:37:24

Android 单元测试之JUnit

在记录单元测试有关的笔记前,先谈谈为什么写单元测试看完这篇文章,相比对单元测试有了一定了解。那么单元测试如何开始呢一.创建测试类在任意需要测试的类(或者方法)下面按下Ctrl+Shift+T(这是默认热键)如下图**首次创建一个新的测试类,然后会弹出提示界面:如果你已经创建过,则会提示对应的测试类让你跳转过去,同样测试类也可以利用这个方法跳转到被测试类。创建...

2018-08-10 15:02:36

Android 压力测试

一.背景1.为什么要开展压力测试?提高产品的稳定性提高产品的留存率2.什么时候开展压力测试?首轮功能测试通过后下班后的夜间进行二.理论1.什么是MonkeyMonkey是发送伪随机用户事件的工具。2.什么是MonkeyScriptMonkeyScript是一组可以被Monkey识别的命令集合MonkeyScript可以完成重复固定的操作...

2018-08-09 16:42:29

Android 事件分发机制

一.事件分发基础认知事件分发的对象是谁:点击事件(Touch事件)定义:当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事(Touch事件)Touch事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象事件类型事件类型具体动作MotionEvent.ACTION_DOWN按下View...

2018-08-08 13:53:12

Android GrennDao集成及使用

一.GreenDao配置1.在项目下的build.gradle中的dependencies中填入GreenDao插件2.在app下的build.gradle中应用greenDAO插件(放在顶部)3.在app下的dependencies中加入依赖//greenDAO函数库implementation'org.greenrobot:greend...

2018-08-07 11:43:38

Android 本地广播与全局广播

1.全局广播和本地广播的区别全局广播:发出去的广播可以被任何应用程序接收到本地广播:发出去的广播只能被本应用程序接收到,一般使用LocalBroadcastManager对广播进行管理。2.注册广播注册广播的方式一般有两种:在代码注册(动态注册)在AndroidManifest.xml中注册(静态注册)动态注册广播监听新建一个类,让它继承自Broadca...

2018-08-06 16:23:47

Android Service 和 IntentService

一.启动服务的方式有俩种startServicebindServicestartService定义使用startService()方法启用服务后,调用者与服务之间没有关连。调用者直接退出而没有调用stopService的话,Service会一直在后台运行。启动流程首次启动Service调用onCreate->onStartCommand重复调用...

2018-08-03 17:07:08

Android 内存泄露成因和解决办法

Java内存泄露引起原因内存泄露是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间的浪费称为内存泄露。Java内存泄露根本原因长生命周期的对象持有短生命周期对象的引用,此时就很有可能发生内存泄露。尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这是java中内存泄露的常见场景。导致内存泄露的情形...

2018-08-03 13:25:51

Android MVC、MVP、MVVM架构总结

MVCModel实体模型(数据的获取、存储、数据状态变化)View指的是XML布局文件或者是用Java自定义的ViewController-对应于Activity或者是Fragment,处理数据、业务和UI总结:从上面这个结构来看,Android本身的设计还是符合MVC架构的,但是Android中纯粹作为View的XML视图功能太弱,我们大量处理View的逻辑...

2018-08-02 17:38:16

Android 屏幕适配解决方案

屏幕适配问题的本质使得“布局”、“布局组件”、“图片资源”、“用户界面流程”匹配不同的屏幕尺寸使得“图片资源”匹配不同的屏幕密度布局匹配本质1:使得布局元素自适应屏幕尺寸布局的子控件之间使用相对位置的方式排列,因为RelativeLayout讲究的是相对位置,即使屏幕的大小改变,视图之前的相对位置都不会变化,与屏幕大小无关,灵活性很强LinearLayout无法准...

2018-08-02 16:38:28

Android 屏幕适配相关概念

屏幕尺寸含义:手机对角线的物理尺寸单位:英寸(inch),1英寸=2.54cmAndroid手机常见的尺寸有5寸、5.5寸、6寸等等屏幕分辨率含义:手机在横向、纵向上的像素点数总和1.一般描述成屏幕的”宽x高”=AxB2.含义:屏幕在横向方向(宽度)上有A个像素点,在纵向方向(高)有B个像素点3.例子:1080x1920,即宽度...

2018-08-02 11:20:32

Android Gradle自动打包

1.步骤一配置Gradle环境变量找到自己AndroidStudio目录下的gradle文件,如C:\ProgramFiles\Android\AndroidStudio\gradle\gradle-4.1\bin。找到这个目录以后,按照配置JDK那样首先将其编辑到系统变量GRADLE_HOME:上面两个步骤执行完毕以后。我们可以测试下Gradle环境是否安装成功。首先打...

2018-08-01 13:36:27

Android 反编译工具(apktool ,dex2jar,jd-gui.exe)使用详解

Apktool用法工具下载地址密码:9bg81.下载Apktool工具(包含aapt.exe&apktool.bat&apktool.jar)。如下图2.将准备进行反编译的apk放到apktool.bat文件所在路劲。3.在cmd中切换到apktool.bat所在路劲,输入指令,如下ZX文反编译后的文件名。编译成功后...

2018-07-31 13:17:59

查看更多

勋章 我的勋章
    暂无奖章