苹果封装的对称加密和非对称加密API
生活随笔
收集整理的這篇文章主要介紹了
苹果封装的对称加密和非对称加密API
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、信息摘要算法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值對比,看是否一致。
二、安全散列(哈希)算法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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab简易编程,MATLAB简单编
- 下一篇: java 使用gzip压缩和解压 传输文