精华内容
下载资源
问答
  • 育儿大全APP是一款母婴育儿应用软件,为新妈妈们提供大量的育儿知识,让用户可以了解宝宝各个成长阶段需要注意的事项,平台提供非常全面的育儿教学,各阶段各方面的育儿教学这里都有,还能在线定制专属的孕育知识,...

    育儿大全APP是一款母婴育儿应用软件,为新妈妈们提供大量的育儿知识,让用户可以了解宝宝各个成长阶段需要注意的事项,平台提供非常全面的育儿教学,各阶段各方面的育儿教学这里都有,还能在线定制专属的孕育知识,为宝宝提供一个良好健康的成长环境,需要的用户快来下载吧。

    ed299d9ef9739ba354570e9e7de15e6b.png

    育儿大全APP功能特点:

    【宝宝食谱】精致的辅食大全,专治挑食,从此让宝宝知道辅食的美味;

    【知识百科】根据宝宝年龄,精选权威观点,定制专属孕育知识,守护宝宝成长每一天;

    【母婴问答】我们有百万达人妈妈和专业医生团队,给您正确的婴幼儿护理知识。

    育儿大全APP亮点:

    1、新手妈妈都在用的养娃宝典,新生儿、婴儿、幼儿养育知识一用俱全;

    2、帮你解决育儿早教难题,育儿知识,帮宝宝树立好习惯,让宝宝知道更多;

    3、新手宝妈宝爸们可以更快掌握科学育儿方法,解决更多育儿成长问题。

    小编点评:

    1、提供一系列完善的幼儿教育和辅导流;

    2、把你自己的宝宝们健康的抚养长大。

    展开全文
  • 全国各地历年满分真题与范文(小初高 范文\素材\真题)
  • 很荣幸,25学堂收集到这么全的Android平台设计规范大全,整整19条安卓设计经验分享。同时也很感谢新浪博客的博主:追逐者设计的分享。 25学堂的小编看完之后,非常适合作为安卓设计新手们的入门教程。值得推荐!1、...

    原文:http://www.25xt.com/appdesign/6013.html

     

    很荣幸,25学堂收集到这么全的Android平台设计规范大全,整整19条安卓设计经验分享。同时也很感谢新浪博客的博主:追逐者设计的分享。

    25学堂的小编看完之后,非常适合作为安卓设计新手们的入门教程。值得推荐!
    1、Android设计尺寸以及分辨率:
    Android的界面尺寸比较流行的有:480*800、720*1280、1080*1920,我们在做设计图的时候建议是以 720*1280的尺寸为标准;ps里面常用的分辨率是:72
    2、Android界面基本组成元素:
    界面基本组成元素包括:状态栏+导航栏+主菜单栏+内容区域;以480*800的尺寸为标准下的 各个元素的高度(其实导航栏和菜单栏每一个应用都或许不一样,android对于尺寸没有太明确的 数据规范)如下:

    134639Xv6

     

    3、Android字体:
    Android 系统中,Droid Sans 是默认字体,与微软雅黑很像;  字体设计大小:短标题:36-40之间。其他:24-32. 具体的根据整体视觉来设计字体大小。字体设计大小没规范。

     

    4、安卓的操作栏设计:
    1、”操作栏”对于 Android 应用来说是最重要的设计元素,它通常在应用运行的所有时间都呆 在屏幕顶部;

    2、 操作栏的基本布局:

    002

    1向上+2 Spinner视图控制+3 重要操作按钮+4 更多操作:其中,向上按钮,点击后是去到 当前界面的上一个层级,非第一层级界面有此按钮,第一层级界面则无向上按钮;Spinner 是 用于展示内容的下拉菜单,其内容包括视图的快速切换和显示相关内容的完整信息;更多操作 (action overflow)是集合操作栏中不常用的和非重要操作的地方。
    5、多面板布局:
    多面板布局更多的是针对平板电脑,把手机端的目录视图和详情视图两个层级的界面,甚至更 多的页面,复合展示在同一个界面中,有效地利用平板电脑的屏幕空间,扁平化层级结构,简 化导航。这点在iPad上已经运用得相当娴熟了。

    003
    6、选择:
    Android4.0中的长按与Android2.3及更早期的版本有很大的不同。早期版本长按操作后,是 出现情境菜单的浮出层。在Android4.0中,长按后在操作栏的位置会覆盖一个临时的情境操 作栏,不再弹出情境菜单浮出层。在临时情境操作栏的环境下,当前界面的内容项允许被单个 处理,也允许被批量处理。

    004

     

    7、返回和向上等按钮设计:

    返回按键用在手机全局的虚拟导航栏中,基于用户最近查看的界面历史,采用时间倒序的方式, 连接界面间的关系。向上按钮用在操作栏的左侧,基于层级结构,点击后是去到当前界面的上一 个层级,若当前界面已经是最高一级,则没有向上按钮。

    005

     

    8、主题样式:
    推出三套默认主题:Holo浅色主题、Holo深色主题、Holo浅色底+深色操作栏主题。主推app在 这三套默认主题的基础上做设计,以加快app研发效率,但只是建议使用,并没有完全强制。

    006

    9、触摸与反馈:

    用户触摸应用中的可操作区域,应当在视觉上有响应,微小的反馈会给用户带来很好地效果;

    007
    10、按钮:
    1、按钮的3种表现形式如下图:

    008

     

    2、对于仅包括图标的按钮,不需要使用背景色;

    009
    11、滑块:
    滑块的几种表现形式如下图:

    010
    12、app进度条设计:
    如果某个操作需要花费很长的时间,就需要用进度条的指示和旋转圈的形式来表示:

    1、如果你可以知道当前任务完成的比例,那么使用进度条,让用户了解大约还需要多久才能完成;

    011

    2、当使用旋转圆圈时,不要配以文字标签。旋转的圆圈已经表明了正在进行后台操作。

    012
    13、开关:
    用户通过开关作出选择,包括3种形式:复选框+单选按钮+开关;

    1、复选框:用户可以在一个集合中作出多个选择:

    013

    2、单选按钮:单选按钮允许用户在一个集合中做一次选择;

    014

    3、开关:开关控制单个选项的状态;

    015
    14、对话框:
    应用通过对话框让用户作出决定或者填写一些信息,

    1、对话框的左边一般情况下是取消按钮,右边是确定按钮;

    016

    2、警告对话框:对于执行下一步操作前请求用户确认或者提示用户当前的状态。内容不 同,布局也会不同;

    A:没有标题栏的警告对话框:内容区应当包括一个问句或与操作有明显相关的陈述句:

    017

    B:有标题栏的警告对话框:仅在有可能引起数据丢失、连接断开、收费等高风险的操作 时才使用。并且标题应当是一个明确的问题,内容区提供一些解释。

    018

    3、弹出对话框:一般情况下用户通过触摸来作出选择;

    019

    4、toast提示:toast提供了轻量级的反馈,显示几秒钟之后会自动消失;

    020

    15、选择器:

    选择器提供了一种简单的方式,让用户在多个值中选择一个;除了可以通过点击向上/向下 按钮调整值以外,也可以通过键盘或者手势。

    021
    16、通知:
    1、基本布局:主要包括的形式结构图如下如:

    022

    2、扩展布局:可通过扩展布局显示信息的前几行或者图片的预览,来让用户了解更多的信息;

    023

    3、操作:将重要的操作按钮图标在通知栏目展现出来,这样可以加快用户的操作;

    024

    4、合并通知:如果正在等待处理的通知是同等类型,则就可以合并通知,合并的通知提供了 综合信息的描述,并告诉用户有多少条未处理的信息;

    025

    5、你可以使用扩展布局为合并的通知提供更多信息,这样用户可以知道被合并的消息细节, 并选择在应用中阅读通知内容;

    026
    17、写作风格:
    1、简短:只告知用户最必要的信息,避免冗余的描述,尽可能缩短文本长度;

    027

    2、简明:使用短词语、主动词和简单名词;仅说明必要的信息,不要费力解释,用户不会care的;

    028

    3、友好:使用缩写;使用第二人称和用户对话(您或你);保持随意,轻松的腔调;

    029

     

    4、标点符号:

    A:句号:如果toast、标签或通知消息等控件中只包含一句话,无需使用句号作为结尾。 如果包含两句或更多,则每一句都需以句号结尾;

    B:省略号:省略号常用于未完成的状态, 例如表示操作进行中 (“下载中…”) 或是表示文 本未能完全显示。、

     

    18、强调纯粹的Android应用设计:
    在Android4.0 app设计准则中,特别强调为Android设计纯粹的Android app,切勿使用其 他平台特定元素的注意事项,有以下5个方面:
    A:强调视觉元素的样式要符合android系统;

    B:不用其它平台特有的图标;

    C:区分向上和返回,不在操作栏上使用返回样式的按钮;

    D:不在界面的下方使用选项卡tabs;

    E:不在内容列表里使用向右箭头。

    030
    19、其他Android设计细节:
    增加许多新的交互细节、信息展示和视觉样式等规范:

    1、新增了横滑移除内容的交互手势。在部分模块中,支持向左或向右横滑移除内容的操作,如 最近任务和消息通知抽屉;

    031

    2、视觉的平面化用的越来越普遍了。也就是扁平化设计。

     

    这篇博文转载自追逐者设计博客:http://blog.sina.com.cn/s/blog_64ba65340101lcyo.html

    展开全文
  • 一、安卓系统知识概述 1.1 安卓系统架构 应用程序层 应用程序框架层 系统运行库库层 系统内核层 四大组件和API 1.2 安卓权限系统 Android操作系统其实是一个多用户的linux操作系统,每个android应用使用不同...

    ----------全-----有不足/遗漏请补充-------

    一、安卓系统知识概述

    1.1 安卓系统架构

    • 应用程序层
    • 应用程序框架层
    • 系统运行库库层
    • 系统内核层
    • 四大组件和API

    1.2 安卓权限系统

    Android操作系统其实是一个多用户的linux操作系统,每个android应用使用不同的用户,运行在自己的安全沙盘里。系统为所有的文件设置权限,这样一来只有同一个用户的应用可以访问它们。每个应用都有自己单独的虚拟机,这样应用的代码在运行时是隔离的,即一个应用的代码不能随意访问或者意外修改其他应用的内部数据。

    1.3 认识adb与安卓间的通信

    ADB,即Android Debug Bridge,他是Android提供的一个通用的调试工具,借助这个工具,我们可以很好的调试开发的程序,adb.exe在安装的Android的sdk开发包platform-tools目录下。

    它是一个客户端/服务器架构的命令行工具,主要由以下3个部分组成:

    • adb客户端:一个用于用户开发程序的电脑上运行的客户端
    • adb服务端:负责客户端与用户设备的守护进程的通信
    • adb daemon(守护进程):一个以后台进程的形式运行于模拟器或者物理手机设备上的守护程序

     

    二、安卓APP测试流程图(转)

    三、安卓App测试点

    3.1 UI测试

    • 按钮、对话框、列表和窗口等静态界面测试
    • 内容(列表页、提示框)等动态界面测试
    • APP与系统相关联之处的UI测试,如:状态栏/锁屏弹出的提示,设置中的应用显示、手机界面的APP显示等
    • APP与launcher间的交互、与系统其它应用间的交互、与系统本身的交互UI测试
    •  

    3.2 兼容性测试

    • 不同手机品牌
    • 不同手机的操作系统以及操作系统的不同版本
    • 不同手机屏幕分辨率和不同屏幕尺寸(一般测试主流分辨率)
    • 网络环境的兼容性 (WiFi、移动网络、弱网环境、无网络环境、专网环境
    • 与本地软件的兼容性
    • APP匹配硬件设备测试(耳机、蓝牙、NFC、照相机、手环等等)--根据APP的业务需求特性
    •  

    3.3 安装卸载/本地升级测试OTA

    • 应用程序的正常安装,图标显示正常,安装后正常运行(不同操作系统下安装)、版本号是否正确
    • 不同版本之间的覆盖安装(版本一致,版本大于、版本小于)
    • 覆盖安装后,用户数据的保留
    • 应用程序的正常卸载,卸载后用户数据是否删除
    • 安装/卸载过程中异常情况(断电,空间不足等)
    • 安装/卸载过程是否支持取消操作
    • 手动式、命令式adb、自动式(第三方辅助工具)安装
    • 安装前后恢复出厂设置,app/数据是否丢失、版本是否改变
    • 安装/卸载权限,是否有安装卸载权限,无权限时是否可安装,
    • root前后安装测试
    • 直接拷贝至手机system/app目录下是否直接使用

    3.4 版本在线升级测试FOTA

    • 当客户端有新版本时,有更新提示。
    • 当版本为非强制升级版时,用户可以取消更新,老版本能正常使用。用户在下次启动app时,仍能出现更新提示。
    • 当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端。下次启动app时,仍出现强制升级提示。
    • 当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。
    • 用户下载/安装版本过程中断网或断电异常情况,是否可恢复,是否支持断电下载
    • 恢复出厂设置后是否可以支持修改
    • 下载升级包后删除,是否还可以在继续下载/是否还有推送提示
    • 整机FOTA升级、独立APP应用FOTA升级策略

    3.5 交互测试

    • 应用的前后台切换
    • 杀进程
    • 锁屏
    • 长时间待机
    • 中断
    • 摇一摇、翻转
    • 开关机、重启

    3.6 并发测试

    •    应用与应用间并发场景---使用APP时接收微信/QQ等来信(含视频呼叫)
    •    应用与定位场景----使用APP时不影响定位准确性
    •    应用与通话/短信场景----使用APP时来电话/短信
    •    应用与多媒体场景 ----使用APP时播放音乐/电影
    •   应用与流量并发冲突场景----使用APP时数据业务流量/wifi使用不受影响,且稳定,没有过大消耗流量场景
    •   应用并发时的功耗和数据流量场景

    3.7 客户端数据库测试

    • 客户端后台数据的增、删、改、查等数据更新测试
    • 数据为空的情况测试
    • 检查客户端数据存在时,app数据是否能自动从客户端数据中取出,检查客户端数据存在时,app数据是否能自动从客户端数据中取
    • 当业务对数据进行了修改、删除后,客户端和服务端是否会有相应的更新。
    • 没有root权限,是否可以删除全部或重要系统文件,会导致app或手机无法使用的文件

    3.8 接口测试

    • 业务逻辑功能测试
    • 边界值测试
    • 参数组合测试
    • 异常情况测试

    3.9 性能测试

    • 单位时间耗电量----功耗:软件手段(工具、log)、硬件手段(电流表仪器)、其他策略(专项待机、随机待机、非待机)
    • 单位时间网络流量---公网数据/wifi流量、吞吐量
    • 移动端相关资源利用率---CPU、内存容量是否影响
    • 业务响应时间----响应速度
    • 帧率                ----流畅度
    • 稳定性
    • 可靠性/可恢复性
    • 压力测试
    •  

    3.10 安全性测试

    • 反编译测试--代码示否混淆(逆向工程)
    • app签名/密钥/加密测试
    • 完整性校验
    • 敏感信息测试
    • 软键盘劫持
    • 权限设置检查--root
    • 组件安全测试--四大组件:Activity、Service、ContentProvider、Broadcast
    • 服务端接口测试
    • 攻击类测试--SQL注入、XSS跨站脚本攻击、CSRF跨站请求伪造、越权访问
    • 安全测试工具--扫描
    • 基础环境--公网环境、网络环境、数据存放环境
    • 数据安全(传输、通信、账户安全)
    • 程序/代码安全--后门
    • 业务安全

    3.10 其他测试

    • 认证测试
    • 扣费测试
    • 应用商店发布测试
    • 上传下载测试
    • 模拟用户体验测试----测试人员测(公司内部人员)
    • 用户体验测试----给实际用户使用(非公司内部人员)
    •  

    四、工具技术(第三方)

    4.1 系统监控常用ADB命令

    1.4.1 查看应用启动耗时

    adb-s   *******设备id******    shell  am start -W -n 应用名.app/ .MainActivity

    1.4.2 获得电池电量和电池温度

    adb shell dumpsys battery

    1.4.3 获得最耗资源的应用

    adb -s ***设备id *** shell top -m 6 -n l -s cpu

    1.4.4 获得内存使用情况

    adb -s  ***设备***id  adb shell dumpsys meminfo 应用程序包名

    1.4.5 获取指定程序cpu使用情况

    adb -s  ***设备***id  shell dumpsys cpuinfo 应用程序包名

    1.4.6 获取指定程序PID

    adb shell "ps | grep packageName"
    

    4.2 需要功能

    • 检测当前时间被测应用的CPU使用率 以及 总体CPU使用量。
    • 检测当前时间被测应用占用的内存量、百分比,剩余内存量。
    • 检测应用从启动开始到当前时间消耗的流量数。
    • 测试数据写入到CSV文件中,存储在手机/storage/sdcard0目录下,同时支持以邮件形式发送文件。
    • 可以选择开启浮窗功能,浮窗中实时显示被测应用占用性能数据信息。
    • 在浮窗中可以快速启动或者关闭手机的wifi网络。

    4.3 实现原理

    4.3.1 监控CPU的实现原理

    Android系统是基于Linux内核的,所以系统文件的结构和Linux下一样,系统总体CPU使用信息放在/proc/stat文件下,/proc/cpuinfo文件存放CPU的其它信息,包括CPU名称,直接读取即可。Emmagee是将选中应用的PID传入,读取/proc/PID/stat文件信息及可获取该PID对应程序的CPU信息。

    4.3.2 监控内存的实现原理

    内存和cpu的处理方式类似。先获取到当被测应用的PID,然后按照PID从 /proc/meminfo文件中获取当前被测应用占用的内存信息。

    4.3.3 监控流量消耗的实现原理

    系统中有存放整体流量和针对当程序的流量统计,/proc/net/dev和/proc/uid_stat/UID下存放tcp_rcv和tcp_send文件,分别存放下行流量和上行流量,操作前后相减就得出结果 。

    4.3.4 监控电量的实现原理

    电量、电压和温度情况是通过监听系统的电池管理事件的广播来获取的。

    4.3.5 监控启动时间的实现原理

    我们点击界面的开始测试时,程序会启动,之后所有的数据统计以及更新进行处理的。会在onStartCommand()里面启动一个线程“handler.postDelayed(task, 1000)”,进行数据的更新同时会尝试通过ActivityManger从logcat中获取到软件的启动时间。

    红色框框内的东西就是通过调用一个管理Android帧缓冲区的系统服务SurfaceFlinger来获取用于计算fps的帧数据,具体可参考: Android fps的计算方式。

    展开全文
  • 开头 大家都知道,找工作的时候高薪不好拿,一般人能拿 30k 的 offer 就不错了。据我所知百分之九十的Android开发都在30k以下! 但是在我的群里有一位同学,平时就喜欢研究源码和框架,然后经过一个月的刷题,跳槽到...

    开头

    大家都知道,找工作的时候高薪不好拿,一般人能拿 30k 的 offer 就不错了。据我所知百分之九十的Android开发都在30k以下!

    但是在我的群里有一位同学,平时就喜欢研究源码和框架,然后经过一个月的刷题,跳槽到头条,拿到了 50k 的月薪,我觉得太厉害了,羡慕嫉妒恨啊。

    后来我和他聊了下,发现他技术确实好,在刷题期间,除了算法,他还把自己的 Android 笔记拿了出来,里面都是他平时的积累,内容全面,深度也有,有插件化、依赖注入,还有各种架构知识。

    果然,只要技术好,走到哪里都不怕啊。大家在学习的时候,除了看书看博客之外,最好能够找一套系统化的,而且有足够深度的学习视频学习,搭建自己的知识框架。

    背景

    我们知道,http 通信存在以下问题:

    • 通信使用明文可能会被窃听
    • 不验证通信方的身份可能遭遇伪装
    • 无法证明报文的完整型,可能已遭篡改

    使用 https 可以解决数据安全问题,但是你真的理解 https 吗?

    当面试官连续对你发出灵魂追问的时候,你能对答如流吗

    1. 什么是 https,为什么需要 https
    2. https 的连接过程
    3. https 的加密方式是怎样的,对称加密和非对称加密,为什么要这样设计?内容传输为什么要使用对称机密
    4. https 是绝对安全的吗
    5. https 可以抓包吗

    如果你能对答自如,恭喜你,https 你已经掌握得差不多了,足够应付面试了。

    什么是 https

    简单来说, https 是 http + ssl,对 http 通信内容进行加密,是HTTP的安全版,是使用TLS/SSL加密的HTTP协议

    Https的作用:

    1. 内容加密 建立一个信息安全通道,来保证数据传输的安全;
    2. 身份认证 确认网站的真实性
    3. 数据完整性 防止内容被第三方冒充或者篡改

    什么是SSL

    SSL 由 Netscape 公司于1994年创建,它旨在通过Web创建安全的Internet通信。它是一种标准协议,用于加密浏览器和服务器之间的通信。它允许通过Internet安全轻松地传输账号密码、银行卡、手机号等私密信息。

    SSL证书就是遵守SSL协议,由受信任的CA机构颁发的数字证书。

    SSL/TLS的工作原理:

    需要理解SSL/TLS的工作原理,我们需要掌握加密算法。加密算法有两种:对称加密和非对称加密:

    对称加密:通信双方使用相同的密钥进行加密。特点是加密速度快,但是缺点是需要保护好密钥,如果密钥泄露的话,那么加密就会被别人pojie。常见的对称加密有AES,DES算法。

    非对称加密:它需要生成两个密钥:公钥(Public Key)和私钥(Private Key)。

    公钥顾名思义是公开的,任何人都可以获得,而私钥是私人保管的。相信大多程序员已经对这种算法很熟悉了:我们提交代码到github的时候,就可以使用SSH key:在本地生成私钥和公钥,私钥放在本地.ssh目录中,公钥放在github网站上,这样每次提交代码,不用麻烦的输入用户名和密码了,github会根据网站上存储的公钥来识别我们的身份。

    公钥负责加密,私钥负责解密;或者,私钥负责加密,公钥负责解密。这种加密算法安全性更高,但是计算量相比对称加密大很多,加密和解密都很慢。常见的非对称算法有RSA。

    https 的连接过程

    https 的连接过程大概分为两个阶段,证书验证阶段和数据传输阶段

    证书验证阶段

    大概分为三个步骤

    1. 浏览器发起请求
    2. 服务器接收到请求之后,会返回证书,包括公钥
    3. 浏览器接收到证书之后,会检验证书是否合法,不合法的话,会弹出告警提示(怎样验证合法,下文会详细解析,这里先忽略)

    数据传输阶段

    证书验证合法之后

    1. 浏览器会生成一个随机数,
    2. 使用公钥进行加密,发送给服务端
    3. 服务器收到浏览器发来的值,使用私钥进行解密
    4. 解析成功之后,使用对称加密算法进行加密,传输给客户端

    之后双方通信就使用第一步生成的随机数进行加密通信。

    https 的加密方式是怎样的,对称加密和非对称加密,为什么要这样设计

    从上面我们可以知道,https 加密是采用对称加密和非对称机密一起结合的。

    在证书验证阶段,使用非对称加密。 在数据传输阶段,使用对称机密。

    这样设计有一个好处,能最大程度得兼顾安全效率。

    在证书验证阶段,使用非对称加密,需要公钥和私钥,假如浏览器的公钥泄漏了,我们还是能够确保随机数的安全,因为加密的数据只有用私钥才能解密。这样能最大程度确保随机数的安全。

    在内容传输阶段,使用对称机密,可以大大提高加解密的效率。

    内容传输为什么要使用对称机密

    1. 对称加密效率比较高
    2. 一对公私钥只能实现单向的加解密。只有服务端保存了私钥。如果使用非对称机密,相当于客户端必须有自己的私钥,这样设计的话,每个客户端都有自己的私钥,这很明显是不合理的,因为私钥是需要申请的。

    https 是绝对安全的吗

    不是绝对安全的,可以通过中间人攻击。

    什么是中间人攻击

    中间人攻击是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。

    HTTPS 使用了 SSL 加密协议,是一种非常安全的机制,目前并没有方法直接对这个协议进行攻击,一般都是在建立 SSL 连接时,拦截客户端的请求,利用中间人获取到 CA证书、非对称加密的公钥、对称加密的密钥;有了这些条件,就可以对请求和响应进行拦截和篡改。

    过程原理:

    1. 本地请求被劫持(如DNS劫持等),所有请求均发送到中间人的服务器
    2. 中间人服务器返回中间人自己的证书
    3. 客户端创建随机数,通过中间人证书的公钥对随机数加密后传送给中间人,然后凭随机数构造对称加密对传输内容进行加密传输
    4. 中间人因为拥有客户端的随机数,可以通过对称加密算法进行内容解密
    5. 中间人以客户端的请求内容再向官方网站发起请求
    6. 因为中间人与服务器的通信过程是合法的,官方网站通过建立的安全通道返回加密后的数据
    7. 中间人凭借与官方网站建立的对称加密算法对内容进行解密
    8. 中间人通过与客户端建立的对称加密算法对官方内容返回的数据进行加密传输
    9. 客户端通过与中间人建立的对称加密算法对返回结果数据进行解密

    由于缺少对证书的验证,所以客户端虽然发起的是 HTTPS 请求,但客户端完全不知道自己的网络已被拦截,传输内容被中间人全部窃取。

    https 是如何防止中间人攻击的

    在https中需要证书,证书的作用是为了防止"中间人攻击"的。 如果有个中间人M拦截客户端请求,然后M向客户端提供自己的公钥,M再向服务端请求公钥,作为"中介者" 这样客户端和服务端都不知道,信息已经被拦截获取了。这时候就需要证明服务端的公钥是正确的.

    怎么证明呢?

    就需要权威第三方机构来公正了.这个第三方机构就是CA. 也就是说CA是专门对公钥进行认证,进行担保的,也就是专门给公钥做担保的担保公司。 全球知名的CA也就100多个,这些CA都是全球都认可的,比如VeriSign、GlobalSign等,国内知名的CA有WoSign。

    浏览器是如何确保CA证书的合法性?

    一、证书包含什么信息?

    颁发机构信息、公钥、公司信息、域名、有效期、指纹…

    二、证书的合法性依据是什么?

    首先,权威机构是要有认证的,不是随便一个机构都有资格颁发证书,不然也不叫做权威机构。另外,证书的可信性基于信任制,权威机构需要对其颁发的证书进行信用背书,只要是权威机构生成的证书,我们就认为是合法的。所以权威机构会对申请者的信息进行审核,不同等级的权威机构对审核的要求也不一样,于是证书也分为免费的、便宜的和贵的。

    三、浏览器如何验证证书的合法性?

    浏览器发起HTTPS请求时,服务器会返回网站的SSL证书,浏览器需要对证书做以下验证:

    1. 验证域名、有效期等信息是否正确。证书上都有包含这些信息,比较容易完成验证;
    2. 判断证书来源是否合法。每份签发证书都可以根据验证链查找到对应的根证书,操作系统、浏览器会在本地存储权威机构的根证书,利用本地根证书可以对对应机构签发证书完成来源验证;
    3. 判断证书是否被篡改。需要与CA服务器进行校验;
    4. 判断证书是否已吊销。通过CRL(Certificate Revocation List 证书注销列表)和 OCSP(Online Certificate Status Protocol 在线证书状态协议)实现,其中 OCSP 可用于第3步中以减少与CA服务器的交互,提高验证效率。

    以上任意一步都满足的情况下浏览器才认为证书是合法的。

    最后

    最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2019-2021BAT 面试真题解析,我把大厂面试中常被问到的技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。

    还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

    领取方式:【戳这里免费领取全套资料】

    Android 基础知识点

    Java 基础知识点

    Android 源码相关分析

    常见的一些原理性问题

    腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析

    些原理性问题**

    [外链图片转存中…(img-oQihi5Ni-1616937619925)]

    腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析

    [外链图片转存中…(img-wKosNE9y-1616937619926)]

    以上内容,均可以免费分享给大家,希望大家在今年一切顺利,进到自己想进的公司,共勉!

    展开全文
  • 10G素材包 安卓素材 APP素材 网站素材 UI素材 按钮素材 网页素材 按钮素材 素材大全
  • 近几年,Android 开发的套路日趋成熟,越来越多的 Android 工程师获得了「高级」的称号,也有不少人在参与公司的 App 从无到有再到火爆的整个开发过程中,顺理成章地拿到了 Leader 职位。 但对于自己的水平,多数人...
  • 工作期间,收集的App推广安卓ios渠道资料大全(14M)
  • if(window.plus) __plusReady(); else document.addEventListener("plusready", __plusReady, false); var huilianUtils = {}; (function(utils) { ...var ua = navigator.userAgent.toLowerCase();...var isApp =
  • 汽车报价大全手机版app是一款购车的生活服务软件。汽车报价大全手机版app可以查看各种车辆的价格资讯,非常的实用。汽车报价大全手机版app致力为用户提供优质的生活服务。汽车报价大全手机版app特点1、汽车报价大全...
  • 成语大全app是一款特别不错的线下成语学习软件,这里有多种模式帮你更深刻的学习成语知识,看图猜成语,考验成语积累量,成语词典功能,随时可以查阅,还有饱含深意的成语故事,功能十分强大,感兴趣的朋友快来下载...
  • APP引导页效果大全.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 书法碑帖大全app是一款书法字帖收集学习软件,该软件收录了秦汉、魏晋南北朝、隋唐五代、宋辽金、元代、明代、清代、近现代和当所有知名的书法大家的字帖,用户在这里可以看到和学到最全面的书法字。而且软件具有...
  • 前言 2020年是转折的一年,上半年...(文末附真题解析大全) 阿里(被拒) 字节跳动(offer) 小米(offer) 手百 (offer) 下面分享一下各个公司的面试题目 爱奇艺 1.Android消息机制 2.Android View绘制流程,当一个Te.
  • 苹果上周表示,自从2008年推出AppStore以来,已经向开发者支付了65亿美元。手机互联网的爆发即将来临!  那么,究竟学Android好还是iOS好呢?如果学Android,需要注意什么?哪个培训机构最好?如果学iOS需要注意...
  • 大河票务主营演出和景区业务,包含国内外各类热门演出及旅游票务,...热门演出即时推送,话剧歌剧、演唱会、音乐剧、舞蹈、曲艺杂技、展览大全等应有尽有;大型演出,随时随地先人一步抢先得票,享受一站式闭环体验;
  • 安卓开发对话框大全

    2015-11-23 19:01:25
    import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.DatePickerDialog; import android.app.DatePickerDialog.OnDateSetListener; import ...
  • 求职简历大全是一款非常优质的简历制作软件,拥有各行各业的简历模板,精美排版设计,让你找工作变得更加轻松,喜欢的朋友赶紧下载吧! 求职简历大全介绍 求职简历大全是一款专门为制作简历发愁的朋友准备的...
  • http://www.qinglongweb.com/biancheng/170.html
  • 130.android.permission.BIND_APPWIDGET 允许程序告诉appWidget服务需要访问小插件的数据库,只有非常少的应用才用到此权限 131.android.permission.BIND_ACCESSIBILITY_SERVICE 请求accessibilityservice服务,以...
  • 还有以下Android进阶学习资源: Android 知识复习大全 覆盖Android所有知识点,包含:Android 进阶延伸点、数据存储、IPC、View、Fragment、Activity 生命周期、Handler、线程、性能优化、Android基础、Java等等。...
  • -------------------------- 精彩热门下载: 安卓TV盒子港台直播app【电视多】 苹果手机iOS港台海外直播软件【电视多】 超清秒开 安卓手机最强港台海外直播app 星火直播2.0.0.0 最全港台直播 爱好tv 复活版港台...
  • abcc的成语c优势 通过这个app就可以让你在家里也能够享受到最优质的教育资源,不论是课堂的质量还是教师的教学都是会给你带来最好的学习氛围,逐渐的培养你的学习的积极性,让你可以更好的提高自己的成绩。...
  • 本文档总结了安卓应用程序渗透测试的各种方法100多页,非常全面,适合不同基础的人...Android APP 渗透测试方法大全 一、Android APP 渗透测试方法 二、工具使用 三、常用测试工具以及环境平台 四、风险等级评定
  • 罗马音大全可复制app下载,这是一款能生成各种趣味单字id的生成器辅助,韩文、繁体字、罗马音片假名等文字都支持,软件安全无毒,使用方式简单,玩家一键就能生成与众不同的名字,欢迎下载体验!【软件详情】罗马音...
  • 罗马音大全可复制app下载,这是一款能生成各种趣味单字id的生成器辅助,韩文、繁体字、罗马音片假名等文字都支持,软件安全无毒,使用方式简单,玩家一键就能生成与众不同的名字,欢迎下载体验!【软件详情】罗马音...
  • 宝宝起名大全是一款宝宝起名类的软件。一个好的名字是陪伴一个人一生的名片,也代表着父母美好的希望,宝宝取名大全帮助你快速为你的孩子取个好名字,让取名更简单。一起来旋风软件园下载吧!宝宝起名大全软件介绍...
  • (1)国内互联网公司的APP起名套路大全!:https://www.jianshu.com/p/f907376146e2 (2)如何给一个App起名字?:www.woshipm.com/pd/377786.html (3)给App取名的“七要”和“三不要”:...
  • app推广方法大全

    千次阅读 2013-03-14 21:45:36
    下载市场eg:安卓、机锋、安智、应用汇、91、木蚂蚁、N多、优亿、安机、飞流等;   应用商店eg:geogle商店、HTC商城、历趣、十字猫、开奇、爱米、我查查、魅族商店、联想开发者社区、oppo应用商店等;   大平台...
  • ▎高清电视大全iOS版的影视APP,小白这两天找来了,因为之前推荐的都失效了,花样影视完全变样!并且这款名为:高清电视大全APP已经上架苹果App Store。软件资源丰富、更新及时,基本上现在热映的电影都有,电视剧...

空空如也

空空如也

1 2 3 4 5
收藏数 87
精华内容 34
关键字:

安卓app大全