密碼學分類
網路開發準則對稱加密演算法
加密&解密都是使用乙個金鑰
非對稱加密演算法
-用公鑰加密,私鑰解密
-用私鑰加密,公鑰解密
特點
1.演算法公開
2.對於相同的資料加密,得到的結果是一樣的
3.得到的結果都是定長的32位
md5用途:
1.密碼:(伺服器不需要知道使用者的真實密碼,資料庫儲存的是加密密碼)
2.搜尋:
ios 高階 執行終端命令:md5 -s "ios"
ios :md5 ("ios") = 1bdf605991920db11cbdf8508204c4eb
高階:md5 ("高階") = fa11f8c07c1629d5f0ab1cfecdf1f686
md5 ("123.png") = 812749e1a307f38fd0a88b54bea55ff2
md5 ("456.png") = 9ef5055324e69f335d69b27ea40d2202
4.檔案完整性校驗
b: 上傳:(斷點續傳)上傳md5和檔案上傳完生成的md5值是否一樣
sskeychain使用
- (void)viewdidload
- (void)loaduserinfo
- (ibaction)login:(id)sender
}pwd = [pwd hmacmd5stringwithkey:key];
nslog(@"現在的密碼是:%@",pwd);
if ([self isloginwithuserid:userid password:pwd]) else
}- (void)s**epwdwithaccount:(nsstring*)account pwd:(nsstring*)pwd
}- (nsstring*)getkeywithaccount:(nsstring*)count else
}- (bool)isloginwithuserid:(nsstring*)userid password:(nsstring*)pwd else
}
加密/解密使用相同的秘鑰; 秘鑰的保管十分重要
加密:$ openssl enc -des-ecb -k 616263 -nosalt -in msg1.txt -out msg1.bin
解密:$ openssl enc -des-ecb -k 616263 -nosalt -in msg1.bin -out msg1.txt -d
檢視加密後的二進位制檔案:$ xxd msg1.bin
加密:$ openssl enc -des-cbc -k 616263 -iv 0000000000000000 -nosalt -in a.txt -out msg1.bin
解密:$ openssl enc -des-cbc -k 616263 -iv 0000000000000000 -nosalt -in msg1.bin -out msg4.txt -d
檢視加密後的二進位制檔案:$ xxd msg1.bin
openssl生成秘鑰
rsa演算法有兩個作用乙個是加密乙個是數字簽名。
生成秘鑰:$ openssl genrsa -out ca.key 1024
密碼學簡單介紹
本文簡要地介紹了現代密碼學的一些基礎理論,供參考。1 加密技術概述 乙個密碼系統的安全性只在於金鑰的保密性,而不在演算法的保密性。對純資料的加密的確是這樣。對於你不願意讓他看到這些資料 資料的明文 的人,用可靠的加密演算法,只要破解者不知道被加密資料的密碼,他就不可解讀這些資料。但是,軟體的加密不同...
密碼學 密碼學基礎
密碼學是研究編制密碼和破譯密碼的技術科學。密碼學的安全目標至少包含三個方面 保密性 完整性 可用性。完整性 資源只有授權方以授權的方式進行修改,所有資源沒有授權則不能修改。可用性 資源只有在適當的時候被授權方訪問,並按需求使用。密碼系統由5部分組成 1 明文空間m 全體明文的集合 2 密文空間c 全...
《現代密碼學》第一章 經典密碼學介紹
第一章 經典密碼學介紹 1.1密碼學和現代密碼學 a.現代密碼學與古典密碼學的區別 1.2對稱金鑰加密的基本設定 a.b.加密的語法 金鑰產生演算法 gen 一種概率演算法 加密演算法 enc 輸入金鑰 k,明文 m,輸出密文c。記為enck m 解密演算法 dec 輸入金鑰 k,密文c,輸出明文 ...