一、信息摘要算法5:MD5
1.系统库位置:<CommonCrypto/CommonHMAC.h>。
2.非加密算法,属于哈希散列,不可逆,用于检验数据完整性。

二、安全散列(哈希)算法SHA:

1.包含的散列算法:SHA-1,SHA-224,SHA-256,SHA-384,和SHA-512。
2.系统库位置:<CommonCrypto/CommonHMAC.h>。
3.SHA同样是散列算法,非加密算法。SHA基于MD5实现。
三、对称加密:
1.包含的加密算法:DES、3DES、AES、AES128等。
2.系统库位置:<CommonCrypto/CommonCryptor.h>的CCCrypt方法
四、非对称加密:
1.包含的加密算法:RSA
2.系统库位置:Security框架,主要有四个方法:
 (1)SecKeyEncrypt:使用公钥对明文加密。
 (2)SecKeyDecrypt:使用私钥对密文解密。
 (3)SecKeyRawSign:使用私钥对明文加签,生成数字签名。
 (4)SecKeyRawVerify:使用公钥对明文和数字签名验签,返回0代表验签通过。
3.通常用法:加密和解密用来保证数据安全,加签和验签用来防篡改。通常结合在一起使,步骤如下:
 (1)发起方使用接收方的公钥对明文加密,生成密文。
 (2)发起方使用自己的私钥对明文加签,生成数字签名。
 (3)接收方使用自己的私钥对密文解密,得到明文。
 (4)接收方使用发起方的公钥对明文和数字签名验签,检测是否是发起方发起的请求。
4.证书格式:DER、PEM、P12是生成密钥可选择的文件格式。
 (1)DER是Distinguished Encoding Rules的简称,是一种信息传输语法规则。
       在iOS端,我们的公钥使用的是DER格式的文件,可以从SecCertificateCreateWithData函数的data参数的说明中看到。
 (2)P12用于存放个人证书/私钥,他通常包含保护密码,2进制方式。
       在iOS端,我们的私钥使用的是P12格式的文件,可以从SecPKCS12Import函数的pkcs12_data参数说明看到。
 (3)而PEM格式是一种对DER进行封装的格式,他只是把der的内容进行了base64编码并加上了头尾说明。
 (4)OPENSSL命令行默认输出的都是PEM格式的文件,要能够在iOS下使用,我们需要指定使用DER或者先生成PEM然后转换成DER。P12格式也一样。

5.附图示:

(1)1、2、3、4为苹果提供的API。

(2)3可以理解为私钥加密。
(3)4中隐含公钥解密过程。首先将数字签名解密,然后和明文的SHA1值对比,看是否一致。

苹果封装的对称加密和非对称加密API相关推荐

  1. 基于Java Cipher封装通用对称加密、非对称加密、数字信封

    背景:与第三方交互经常会使用加密.验签等安全策略.有的加密工具由第三方提供,有的提供算法等参数自己开发,为减少加密等功能的开发工作量,决定封装一个通用的加解密工具. 1. 名词解释 1.1. 对称加密 ...

  2. http协议与https协议+UDP协议和TCP协议+WebSocket协议下服务端主动去发送信息+对称加密与非对称加密+get和post请求方式区别详解+浏览器内核以及jsj解析引擎

    TCP和UDP协议是TCP/IP协议的核心. 在TCP/IP网络体系结构中,TCP(传输控制协议,Transport Control Protocol).UDP(用户数据报协议,User Data P ...

  3. 对称加密、非对称加密、DES、AES、RSA、OpenSSL、数字签名、防篡改

    本公众号分享的所有技术仅用于学习交流,请勿用于其他非法活动,如果错漏,欢迎留言指正 <加密与解密>第4版 加解密 安全领域的重要分支和基础设施 互联网重要数据的传输需要加解密 TCP/IP ...

  4. 安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS

    一,对称加密 所谓对称加密,就是它们在编码时使用的密钥e和解码时一样d(e=d),我们就将其统称为密钥k. 对称加解密的过程如下: 发送端和接收端首先要共享相同的密钥k(即通信前双方都需要知道对应的密 ...

  5. 加解密基础——(对称加密、非对称加密和混合加密)

    本文对之前学习过的加解密相关知识做一简单总结,以备后用. 1. 基本概念 加密算法 通常是复杂的数学公式,这些公式确定如何将明文转化为密文的过程和规则. 密钥 是一串被加入到算法中的随机比特. 待续 ...

  6. 对称加密和非对称加密介绍和区别

    什么是对称加密技术? 对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短, ...

  7. 【上】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS

    此文章转载来源于http://blog.csdn.net/tenfyguo/article/details/40922813点击打开链接 一,对称加密 所谓对称加密,就是它们在编码时使用的密钥e和解码 ...

  8. 对称加密与非对称加密的区别_https原理及对称加密、非对称加密、数字证书、数字签名的含义...

    一.为什么要使用https 使用https的原因其实很简单,就是因为http的不安全. 当我们往服务器发送比较隐私的数据(比如说你的银行卡,身份证)时,如果使用http进行通信.那么安全性将得不到保障 ...

  9. mysql对称连接什么意思_对称加密与非对称加密的区别是什么

    区别:1.对称加密中加密和解密使用的秘钥是同一个:非对称加密中采用两个密钥,一般使用公钥进行加密,私钥进行解密.2.对称加密解密的速度比较快,非对称加密和解密花费的时间长.速度相对较慢.3.对称加密的 ...

  10. 浅谈对称加密与非对称加密

    在数字加密算法中,通过可划分为对称加密和非对称加密. 一:什么是对称加密? 在对称加密算法中,加密和解密使用的是同一把钥匙,即:使用相同的密匙对同一密码进行加密和解密: 加密过程如下: 加密:原文 + ...

最新文章

  1. HTML5本地存储IndexedDB基础使用
  2. C#(WinForm)实现软件注册
  3. python官网打不开-python为什么打不开
  4. redis的7个应用场景
  5. PMCAFF | 从200块到300万,史上最全自媒体报价单
  6. 对tf.nn.softmax的理解
  7. idea中实体类右击没有ptg_这些6到飞起的idea插件,你还没用过?
  8. ABAP 常用FUNCTION (最近工作中用到的)
  9. 基础Floyd--任意两点间最短路
  10. LaTeX 公式编辑器(网页版)
  11. 100道MySQL数据库经典面试题解析(收藏版)
  12. c语言第三章课后作业答案,C语言第三章习题带答案
  13. 国内顶尖网页游戏制作人和主策划名单(转)
  14. 图灵机器人php调用案例,使用httpclient实现图灵机器人web api调用实例
  15. 爬虫系列,(4),playwright使用说明
  16. 关于北京租房,我想吐槽的一些东西
  17. sql查询记录数大于1
  18. 融合最优邻域扰动和反向学习策略的蝴蝶优化算法
  19. 测绘工程与计算机论文,测绘工程毕业论文.doc
  20. SpringBoot 集成sharding-jdbc 提示:Failed to configure a DataSource: ‘url‘ attribute is not specified ***

热门文章

  1. Mysql Explain的简单使用
  2. .net学习笔记----WebConfig常用配置节点介绍
  3. CSS-Transform-transition-Animation
  4. Python的bool类型
  5. idea中每次push/pull都需要输入账号密码
  6. insert和insertSelective区别
  7. Mybatis中example的使用
  8. 【剑指offer】面试题32 - I:从上到下打印二叉树(Java)
  9. 2017年网易校招题 买苹果
  10. 沈航计算机考研上岸,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...