一、信息摘要算法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. R语言cut函数实现数据分箱及因子化实战
  2. Meta AI发布图音文大一统模型Data2vec,4天在GitHub揽1.5万星
  3. 西裤哥的 Hook Api Lib 0.2 For C
  4. 关于 pip install mysqlclent安装失败 ERROR: No matching distribution found for mysqlclient 的解决方案
  5. DevExpress的GridControl的使用以及怎样添加列和绑定数据源
  6. 关于自主开发和研究代码
  7. C#实验室常用软件-Windows Live Writer
  8. 从RSS Feed和YQL创建数据表
  9. 【转】2.2【MySQL】运行原理(二):InnoDB 内存结构、磁盘结构及update sql执行过程分析
  10. 利用计算机打字教学设计,《争当打字小能手》教学设计方案
  11. LeetCode 堆栈队列 —— 括号匹配(20、232、155)
  12. 长沙理工考研2021计算机软件科目,2021考研进行时:速览最新招生信息
  13. python中列表用什么表示_python中的列表
  14. 18. web robot
  15. 小米路由R1D固件升级后导致Misstar tools插件页面显示错误解决方法
  16. log4j2配置文件详解
  17. python拉格朗日插值法_Python 实现拉格朗日插值
  18. LeetCode.623 Add One Row to Tree
  19. 公司企业邮箱怎么开通注册?仅需2步,教大家公司企业邮箱怎么弄
  20. Linux、Windows都适用的跨国传输、大文件传输软件:飞驰传输

热门文章

  1. day34 数据库入门
  2. Zookeeper常用命令行及API
  3. 洛谷 1341 无序字母对
  4. Even Three is Odd
  5. SpringMVC核心——视图渲染(包含视图解析)问题
  6. 我该如何维护一个烂项目?
  7. windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
  8. django 的请求处理部分----WSGIHandler 源码分析 django1.5.5
  9. 深入浅出MongoDB(二)概述
  10. 5款新颖的ReSharper插件