1.對稱式加密1)
des(
d
atae
ncryption
s
tandard):安全性較差,一般不建議使用。
2)3des
:三重des,針對des金鑰長度較短的問題,3des可以實現最少112位、最高168位金鑰長度。
3)aes
:相比於3des擁有更好的安全性。
4)pbe
(p
assword
b
ased
e
ncryption):基於口令的加密,結合了des和aes的優點。
金鑰的兩種傳輸方式:1)通過網路傳輸(如圖中所示)
2) 私下約定金鑰生成方式。
特點:(1)特點:演算法公開、計算量小、加密速度快、加密效率高
(2)弱點:雙方都使用同樣金鑰,安全性得不到保證
2
.
非對稱式加密
rsa:基於因子分解。(位數:512-65536)
非對稱加密與對稱加密相比,其安全性更好:對稱加密的通訊雙方使用相同的秘鑰,如果一方的秘鑰遭洩露,那麼整個通訊就會被破解。而非對稱加密使用一對秘鑰,乙個用來加密,乙個用來解密,而且公鑰是公開的,秘鑰是自己儲存的,不需要像對稱加密那樣在通訊之前要先同步金鑰。
特點:安全都高
缺點:速度慢,耗資源
3.
對稱式加密和非對稱式加密的對比
加密方式
安全性
速度
對稱加密
不是很安全
較快
非對稱加密
很安全
較慢
非對稱加密與對稱加密相比,其安全性更好:對稱加密的通訊雙方使用相同的秘鑰,如果一方的秘鑰遭洩露,那麼整個通訊就會被破解。而非對稱加密使用一對秘鑰,乙個用來加密,乙個用來解密,而且公鑰是公開的,秘鑰是自己儲存的,不需要像對稱加密那樣在通訊之前要先同步金鑰。
4.
資訊摘要加密(單項加密,雜湊,雜湊加密)
如:md5,sha
摘要演算法
是一種能產生特殊輸出格式的演算法,
這種演算法的特點是:無論使用者輸入什麼長度的原始資料,經過計算後輸出的密文都是固定長度的,這種演算法的原理是根據一定的運算規則對原資料進行某種形式的提取,這種提取就是摘要,
被摘要的資料內容與原資料有密切聯絡,只要原資料稍有改變,輸出的
「
摘要
」
便完全不同,因此,基於這種原理的演算法便能對資料完整性提供較為健全的保障。但是,由於輸出的密文是提取原資料經過處理的定長值,所以它已經不能還原為原資料,即
訊息摘要演算法是不可逆的,理論上無法通過反向運算取得原資料內容,因此它
通常只能被用來做資料完整性驗證。
常用密碼加明文的方式。
5.base64
這個不屬於加密,主要用於資料傳輸的編碼,防止資訊丟失
6.
幾種加密方式可以進行聯合使用,發揮各自的長處。
如:對稱,非對稱(銀行賬戶問題)
md5,base,對稱組合
數字簽名(摘要演算法+非對稱加密)等
ps:圖是借來的,感謝原作者,請勿怪
ARC的初了解
針對記憶體管理問題,arc可以幫助管理object c物件,但是不支援core foundation 物件管理,所以轉換後要注意乙個問題,誰來釋放使用後的物件。本文重點總結一下型別轉換後的的記憶體管理 一 非arc的記憶體管理 手動管理記憶體,使用完轉換的物件,release就可以 nssting ...
IP位址初了解
ip分為2中 ipv4 32位 ipv6 128位 ipv6的提出是為了應付未來ip位址不足的困難,但是目前ipv4仍然是主流。乙個ip位址分為4段,每段有8位,段與段之間用 分隔。為了易於表示,ip位址會把沒段的二進位制轉化為十進位制。a 0 x.xx.xx.xx b 10 xx.xx.xx c ...
C 模板初了解
泛型程式設計顧名思義 可以通泛的使用,比如我們要使用乙個add加法函式,void add int a,int b void add double a,double b void add float a,float b 那我們可以通過函式過載來實現,但是函式過載有不好的地方,那就是 1 過載的函式只是...