96 iOS中的加密

2021-06-29 08:21:16 字數 1742 閱讀 7615

加密

1.base 64 

是網路上使用最廣泛的編碼系統,能夠將任何二進位制資料,轉換成只有65個字元組成的文字檔案

a-z a-z ,o-9,+,/,=

注意:base 64,可以被反算,不夠安全。

在終端對字元編碼:echo -n "a" | base64 "a」要編碼的字串

在終端對字元解碼:echo -n 「qq==" | base64 -d

2.現代密碼學 - 所有加密演算法都是公開的

1>雜湊(雜湊)函式

-md5/sha1/sha256/sha512

-對任意乙個二進位制的資料進行加密,可以得到定長的字串結果

-md5加密結果都是32個字元

-核心思想:從給定的資料中,抽取特徵碼,不容易產生重複,加密後的字串通常被稱為」指紋」「資訊摘要」

-md5 因為資料長度不夠用,國外不常用,國內很常用

2>對稱加密演算法,加密和解密使用同乙個秘鑰,加密解密速度快

-可以給大資料進行加密

-秘鑰的安全性非常重要

3>非對稱加密演算法 rsa 

-使用 公鑰 加密,使用 私鑰 解密

-使用 私鑰 加密,使用 公鑰 解密 

-更安全

-但是加密解密的速度極慢

-只適合給小資料加密

3.雜湊函式 md5

解密md5**:www.cmd5.com

-注意:相同的字串,使用md5進行加密,使用相同的演算法,每次加密的結果是固定的。

-如何解決反算情況

1>傳統的方法 -加」鹽」,加乙個複雜的字串

加鹽特點:鹽相對比較固定,鹽要足夠長,夠複雜,足夠鹹

2>hmac-和雜湊函式一起使用的加密演算法,使用了乙個"秘鑰",在做兩次雜湊

hmac特點:比普通加鹽的效果好,安全級別要搞

在密碼學中,有乙個約定

同樣的密碼,同樣的加密演算法,每次加密的結果是不一樣的。

md5的補充

* 搜尋

- 例子:

傳智 ios 北京 it培訓 it改變生活 高薪 高富帥

it改變生活 高薪 高富帥 北京 傳智 ios it培訓

在實際開發中,字串的比較效率是最差的!

好的做法,將所有的字串進行雜湊

rhp      700914d797a99c3a44dcb478572bc2fc

ios      1bdf605991920db11cbdf8508204c4eb

blaze 73ece3d5fa35ac9f4e1a2f1d61f1dfa3

將以上三個二進位制資料,按位相加,無論如何排列,最終結果都應該是一樣的

* 版權,電子出版物的識別上

- 例子:youtube.com

4.鑰匙串訪問

-蘋果的生態圈,鑰匙串訪問,使用aes 256加密演算法,能夠保證使用者密碼的安全。

-注意:鑰匙串訪問sdk,是蘋果在 ios 7.0.3版本以後公布的。

-鑰匙串訪問的藉口是純c語言的,但是網路上上有人把它封裝成oc的,使用很簡單-第三方框架

-鑰匙串訪問的密碼儲存在**,只有蘋果知道。是為了進一步保障使用者的密碼安全。

-鑰匙串訪問的第三方框架sskeychain

,是對c語言框架的封裝。

4.指紋識別(生物識別)識別主人

-技術在iphone 5s 推出,ios7.0

-sdk 是在ios8.0推出touch id 介面並開放

-指紋識別最主要應用場景:支付,支付環節越少越好,越簡單越好

iOS 常用的加密模式

加密方式 手機端的加密有三個大類 1 非對稱加密 rsa 2 雜湊 雜湊 函式 3 對稱加密 aes 介紹 1 非對稱加密 rsa 上世紀70年代出現的偉大加密演算法是rsa 非對稱加密 特點 演算法公開,效率高,適合大型檔案 一般對檔案用對稱加密,對加密用的秘鑰用非對稱加密 方法 公鑰加密,私鑰解...

iOS常用的加密方式

md5 ios 加密 建立md5類,如下 import inte ce cjmd5 nsobject nsstring md5hexdigest nsstring input end import cjmd5.h import implementation cjmd5 nsstring md5hex...

iOS開發中的一些加密方式

des data encryption standard 資料加密標準 現在用的比較少,因為它的加密強度不夠,能夠暴力破解 3des 原理和des幾乎是一樣的,只是使用3個金鑰,對相同的資料執行三次加密,增強加密強度。缺點 要維護3個金鑰,大大增加了維護成本 aes advanced encrypt...