ios知识总结

时间:2024.4.13

一、关于数字签名

在Xcode开发中要用到开发者证书,同时也牵涉到数字签名。就查阅了些资料,看了关于公钥,私钥,证书,数字签名的一些资料。现在把理解的整理如下:

一般加密的方式有两种,对称(私钥)加密,非对称(公钥)加密。前者大家都比较多见,比如自己给文件夹设置一个密码,这个密码既能加密,同时也能解密。我们重点说说非对称(公钥)加密。

公钥加密,有公钥就有私钥。首先要明白非对称加密是用到一对密码:公钥和私钥,公钥就是大家都知道的密码或者你让别人知道的密码,私钥是只有自己才能知道的。公钥和私钥是通过RSA算法得到的一对密码,这种加密方式是在现阶段不能被破解的。

非对称加密最初是用来保证邮件服务的安全性和保密性

场景:A给B发送邮件;

问题:A发送的邮件,被别人截获后,怎么让别人看不到;B收到邮件后,怎么确认邮件就是A发送的,而不是别人冒名顶替发送的。

解决这要的问题就用到了非对称加密,首先A和B必须都有自己各自的公钥和私钥。

A发送邮件的时候,为了保证数据的安全性就是只有B自己才能解开,为达到这样的目的,显然必须用一个只有B自己知道的密码,肯定是B的私钥了,解密和加密是相对的,解密用B的私钥,那加密只能用B的公钥了,这样A发送邮件的时候就用B的公钥对数据进行加密,这样就保证了数据的安全性。公钥是公开的,其他人拿到公钥后也可以冒名A给B发送邮件,怎么解决这个问题呢?类似文件加加密一样,别人用你给的密码能打开文件夹,现在这个密码变复杂了,它是一对,也就是加密的时候我用自己的私钥加密,你如果能用我的公钥打开,那就保证这个文件夹是我给你的,这样别人就不可能冒名顶替了。

感觉有点乱,莫急,举个例子你就明白了。

A写信给B,写信得写字吧,那就把写好的字在发送前用B给的公钥进行加密,然后在信封的外部套个信封(用A自己的私钥加密),发走。 假如信掉到地上,被C捡到了,他如果不知道你自己的公钥,他是打不开信封的,假如你的公钥C知道,打开信封,看到的内容依然是密文,

由于只有B自己知道密文对应的私钥,所以不用担心C能解密,获取内容;

邮件正常发送给B了,B用你的公钥打不开信封,则表明这封信是别人冒名顶替的;用你的公钥打开了信封,表明信肯定是A写的,除非A的私钥被其他人知道了,然后B再用自己的私钥对信的内容解密,从而就知道了信的内容。

整个过程就保证了发送信是A发送的,信的内容别人得到了也解密不了。我觉的这个例子应该可以解释了非对称加密以及公钥和私钥了。

主要是理解公钥和私钥各自的用法

私钥:用来加密和签名。

公钥:用来解密和验证。

我们在日常生活中有身份证来表明自己的身份,在互联网的世界中,怎么表明一个身份,这个身份可能是一个服务器的身份,一个网站的身份,一个应用程序的身份等等。就是身份通过什么来表示呢?想想我们是如何办理身份证的,首先得有自己的基本信息,去公安局(这是个权威机构)#b@2,然后就可以 了,别人看到你的身份证,上面有公安局的盖章,就知道身份证肯定是真实合法的;数字证书(互联网中的身份)和这个类似,首先有自己的一对公钥和私钥,把公钥和自己的实体信息发送给证书授权机构,证书授权机构核实信息后,会发送给你一份电子证书,这份电子证书上有授权机构的签名,你的公钥和一些实体信息,都是一些数字和英文。的各种活动。数字证书由独立的证书发行机构发布。数字证书各不相同,每种证书可提供不同级别的可信度。可以从证书发行机构获得您自己的数字证书。 [

下面这段是转自百度文库的解释:

数字证书里存有很多数字和英文,当使用数字证书进行身份认证时,它将随机生成128位的身份码,每份数字证书都能生成相应但每次都不可能相同的数码,从而保证数据传输的保密性,即相当于生成一个复杂的密码。数字证书绑定了公钥及其持有者的真实身份,它类似于现实生活中的居民身份证,所不同的是数字证书不再是纸质的证照,而是一段含有证书持有者身份信息并经过认证中心审核签发的电子数据,可以更加方便灵活地运用在电子商务和电子政务中。

百度百科的解释:

数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名,此外,数字证书只在特定的时间段内有效。

我们如果需要在真机上测试,需要给代码签名,也就是给代码一个身份认证,表明这份代码是成为开发者的某人编写的程序,这个程序是可以在特定的设备上进行测试,这些信息其实就是在一个previsionProfile文件中。 我们测试的previsionProfile文件申请需要的材料有:

1.开发者的测试证书(表明程序是特定的开发者开发的测试程序)

2.加入了特定的设备(表明测试用的真机已经被加入了)

发布的时候也是一样的,通过代码签名就可以达到这样的目的。个人的理解。

你提交的代码到AppStore中,苹果审核的时候,看到代码经过签名,则认为是合法的,从而开始真正的内容和性能审核。

二、关于IOS响应者链的理解

项目在开始做的时候,基本的布局是个抽屉效果。仿照网上写了个自定义的抽屉效果。但是在事件处理的时候出现了问题。右边的

contentViewControlelr的View是加在一个contentView上,这个

contentView上面绑定了两个手势分别是tap和pan。现在的问题是,当我点击按钮的时候,tap是没响应的;当我点击UITabBarItem的时候,它是会触发tap手势的,刚开始上网看以为BarItem是press来触发的,因为当我点击慢的时候,确实可以切换视图,但是这个时候仍然触发了tap的方法。后来问同学,说事件没有被拦截。UIView是不会拦截事件的,除非自己单独处理,如果是touch 方法被重写,则父视图的touch方法将不会继续执行,除非执行super;但手势依然会执行,因为没有对手势进行处理,如果是一些按钮类似的控件,会把事件拦截下来,是普通的View只

能通过手势的代理来强制取消。而且BarItem是继承于NSObject,不是NSResponder,汗!最后通过代理的方法来拦截事件,

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

这个方法是在touchBegin方法之前执行的,它会询问代理是否对这个

touch进行处理,通过touch view获得点击view的class,进行判断,返回YES,会执行手势绑定的方法;返回NO,手势绑定的方法不会被执行。


第二篇:QS知识总结


Q S

名称简介:QS是食品“质量安全”(QualitySafety)的英文缩写,由国家质检总局统一制定。《食品生产许可证》编号由英文字母QS加12位阿拉伯数字组成。

范围:食品中共分28大类。其中包括糕点(烘烤类、油炸类、蒸煮类、熟粉类和月饼)。

强制性:包含的28大类食品销售时必须加印(贴)QS标志。

受理部门:各级质量技术监督部门和国家质检总局

周期:证书有效期为3年,但每年要有一次年审。年审合格的,质量技术监督部门应在企业生产许可证的副本上签署年审意见。

具体内容:QS是我们国内的认证,是产品认证,是我国食品进入国内市场销售所达到的最基本标准。

带有QS标志的产品就代表着经过国家的批准所有的食品生产企业必须经过强制性的检验,合格且在最小销售单元的食品包装上标注食品生产许可证编号并加印食品质量安全市场准入标志(“QS”标志)后才能出厂销售。没有食品质量安全市场准入标志的,不得出厂销售。自20xx年x月x日起,我国首先在大米、食用植物油、小麦粉、酱油和醋五类食品行业中实行食品质量安全市场准入制度。20xx年x月x日起,冷饮、肉制品、乳制品、饮料、调味品、方便面、饼干、罐头、散装速冻面米食品、膨化食品等第二批实施市场准入制度的十类食品,无QS标志不能上市销售。另有13类食品,包括茶叶、酱腌制品、炒货食品、可可制品、蜜饯、焙炒咖啡、蛋制品、水产加工制品、淀粉及淀粉制品、糖果制品、啤酒、黄酒、葡萄酒等的生产企业也已开始申请认证工作。

20xx年x月x日中华人民共和国国家质量监督检验检疫总局令(第79号)颁布《食品生产加工企业质量安全监督管理实施细则(试行)》中第四十七条规定“实施食品质量安全市场准入制度的食品,出厂前必须在其包装或者标识上加印(贴)QS标志。没有QS标志的,不得出厂销售。”

国家质检总局根据食品质量达到安全标准所必须满足的基本要求,从原材料、生产设备、工艺流程、检验设备与能力等10个方面制定了严格具体的要求,只有同时通过这“十关”审核的企业才允许生产食品,检验合格后才能加贴QS标志进入市场.

20xx年x月x日公布施行的《食品生产加工企业质量安全监督管理办法》规定企业未取得食品生产许可证,不得生产加工相应的食品;未取得生产许可证而擅自进行生产的为无证生产;未经检验合格、未加印(贴)食品质量安全市场准入标志的食品不得出厂销售。

QS认证新要求:

1、委托检验淘汰,要求企业必须具备出厂检验能力,原已拿证的企业,属于委托检验的必须在年底前建立自己的实验室,否则将取消其QS证。

2、QS企业每年都将接受严格的证后监督检查,对其申证条件进行审核。若发现有严重不合格项就将吊销其QS证。该项工作将由省级质量技术监督部门统筹进行。

QS认证程序:

一、申请阶段

从事食品生产加工的企业(含个体经营者),应按规定程序获取生产许可证。省级、市(地)级质量技监部门在接到企业申请材料后,在15个工作日内组成审查组,完成对申请书和资料等文件的审查。企业材料符合要求后,发给《食品生产许可证受理通知书》。

二、审查阶段

企业的书面材料合格后,按照食品生产许可证审查规则,在40个工作日内,企业要接受审查组对企业必备条件和出厂检验能力的现场审查。现场审查合格的企业,由审查组现场抽封样品,并由审查组或申请取证单位将样品送达检验机构进行检查。检测合格后,省级质监部门将所有材料汇总送至国家质检总局审核批准。

三、发证阶段

经国家质检总局审核批准后,省级质量技监部门在15个工作日内,向符合发证条件的生产企业发放食品生产许可证及其副本。

更多相关推荐:
Objective-C知识点总结

1类是一组具有相同特性和行为的某一类事和物的集合2对象是类的实例化3计算机语言的目的模拟和解决生活中的问题4include和import的区别答1import是oc中导入头文件的关键字而且只需导入一次就行2in...

ios知识点总结——富文本实现图文混排

ios知识点总结富文本实现图文混排在iOS开发中经常会遇到一些图文混排的情况特别是在微博类应用的开发过程中经常会遇到各种表情各种链接的解析笔者在实践开发中经历了几次这种类型的开发由最开始的利用WebView进行...

好程序员-ios开发小知识点(二)

16程序启动画面大小iOS设备现在有三种不同的分辨率iPhone320x480iPhone4640x960iPad768x1024以前程序的启动画面图片只要准备一个Defaultpng就可以了但是现在变得复杂多...

好程序员-ios开发小知识点(一)

1获取系统语言设置NSUserDefaultsuserDefaultNSUserDefaultsstandardUserDefaultsNSArraylanguagesuserDefaultobjectForK...

android知识点总结

一单选题1Android一词的本义指机器人同时也是c于20xx年11月5日宣布的基于Linux平台的开源手机操作系统的名称A微软公司B英特尔公司C谷歌公司D摩托罗拉公司2下列不是手机操作系统的是DAAndroi...

软件测试必备基础知识总结

鲁德培训软件测试学习软件测试必备基础知识总结作者Kevin老师什么是软件测试软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程本质软件测试是为发现软件...

VC++基础知识总结

基本类模板是一个类模板的集合其中每个类模板有两个参数字符类型charT参数决定处理的元素类型而特性参数对每个特定的元素类型提供一些额外的特征usingnamespacestd详解一ltiostreamgt和lt...

spring知识点

01什么是spring它有什么特点Spring是一个轻量级的控制反转IoC和面向切面AOP的容器框架轻量从大小与开销两方面而言Spring都是轻量的完整的Spring框架可以在一个大小只有1MB多的JAR文件里...

Spring知识点

一Spring是什么在了解Spring之前我们来了解在JavaEE框架下企业级开发采用EJB框架的一些不足1EJB太笨重而且EntityEJB不能脱离容器2企业级服务使用困难3开发的复杂度太高4侵入式方案EJB...

spring的有关学习知识总结

1spring是什么1它是为属性赋值的一种工具IOCDI当希望一个类调用其它类的的方法时当在写一个vo时也经常为属性赋值2它是用来处理系统级服务的一种工具aop当程序的很多地方都需要同一个服务时你该怎么办呢方法...

Spring知识详尽点

关于SpringRodJohnson好处方便解耦简化开发AOP编程的支持声明式事物的支持方便程序测试方便集成各种优秀框架降低javaEEAPI的使用难度java源代码第一章使用spring管理javabean1...

Module_10_Spring_Festival_知识点总结

初一英语上册外研版Module10SpringFestival知识点总结一重点词汇dance基本用法1dancev跳舞过去式danced过去分词danced现在分词dancing第三人称单数dancesdanc...

ios知识点总结(6篇)