加密方法初解

lock

前言:
依舊是可以說(shuō)很良心了,今天了解了一下加密,才發(fā)現(xiàn)其中內(nèi)容真的多,涉及具體的需求
一般常用MD5,再進(jìn)一步就是加鹽,再進(jìn)一步就是亂序,再再進(jìn)一步就是HMAC

@非對(duì)稱加密算法


RSA - 加密算法
  • 公鑰加密-私鑰解密
  • 私鑰加密-公鑰加密
  • KEY-其實(shí)就是一個(gè)數(shù)字
  • 只能通過(guò)因式分解破解

哈希(散列)函數(shù)
  • MD5
  • SHA1
  • SHA256/512

@對(duì)稱加密算法

  • DES
  • 3DES
  • AES(高級(jí)密碼標(biāo)準(zhǔn),美國(guó)國(guó)家安全局使用,iOS操作系統(tǒng)內(nèi)部使用)

散列函數(shù)-特點(diǎn)

  • 算法公開
  • 對(duì)相同數(shù)據(jù)加密,得到的結(jié)果是一樣的
  • 對(duì)于不同的數(shù)據(jù)加密,得到的結(jié)果都是定長(zhǎng)的(32位字符a--z,0--9)
  • 信息摘要--信息指紋,用來(lái)做識(shí)別
  • 不能反算!

散列函數(shù)-用途

  • 用戶登錄 : 服務(wù)器里存儲(chǔ)的是加密后的密碼,并不是明文密碼,用戶登錄時(shí),我們客戶端也只是發(fā)送加密后的識(shí)別碼。
  • 搜索
  • 版權(quán)

散列函數(shù)-破解

  • 目前破解的散列只有 MD5,SHA1 也在邊緣
  • 散列碰撞,不同的數(shù)據(jù)使用MD5之后,能夠得到相同結(jié)果的散列結(jié)果,這個(gè)網(wǎng)站,目前95%的正確查找率

Example->MD5& HMAC

MD5加鹽[加入一段復(fù)雜且長(zhǎng)的特殊字符串,使得MD5暴力破解數(shù)據(jù)庫(kù)無(wú)法匹配]
  • 缺點(diǎn)-->鹽是寫死在程序里的,被認(rèn)為掌握,存在泄漏的危險(xiǎn)
HMAC[另類加鹽]
  • 優(yōu)點(diǎn)-->給定一個(gè)密鑰[一般從服務(wù)器獲取,在注冊(cè)時(shí)存儲(chǔ)到服務(wù)器本地、客戶端本地,客戶端僅獲取一次,這樣減小了key被攔截的機(jī)率],對(duì)明文進(jìn)行加密,并做兩次散列--32位字符,這樣的好處是,服務(wù)器隨機(jī)給,客戶端僅獲取一次,所有的開發(fā)人員都不知道,不存在認(rèn)為泄漏的潛在危險(xiǎn),也大大降低了被攔截的可能。
  • 缺點(diǎn)-->如果用戶更換設(shè)備登錄,那么該設(shè)備上是不具備對(duì)應(yīng)的密鑰的,此時(shí)用戶便不能再登錄了。所以,服務(wù)器端應(yīng)該更換普通的賬戶保存方式[賬號(hào):密鑰:加密之后的密碼->(原始密碼+KEY)HMAC<-]
HMAC客戶端登錄思路
  • 1.1 用戶輸入賬號(hào)、密碼
  • 1.2 本地查找密鑰[如果沒(méi)有密鑰,向服務(wù)器獲取(對(duì)應(yīng)賬號(hào))]
  • 1.3 舉例:QQ的設(shè)備鎖(異地登陸),通過(guò)判斷本地是否有密鑰,進(jìn)而判斷是否為用戶的設(shè)備,如果判斷不是用戶設(shè)備,則向之前有密鑰的手機(jī)客戶端發(fā)送是否解鎖的信息,解鎖后,服務(wù)器則向你發(fā)送新的密鑰。
使得HMAC更進(jìn)一步的安全[登錄時(shí)]
  • 客戶端:加密之后的密碼 == (原始密碼 + KEY)HMAC,再進(jìn)一步做處理,最終向服務(wù)器發(fā)送的密碼 == (加密之后的密碼 + 201807021620)MD5
  • 服務(wù)器端:這時(shí)的判斷進(jìn)一步做更改,(加密之后的密碼 + 201807021621) || (加密之后的密碼 + 201807021620),使得只有1分鐘的時(shí)效

鑰匙串訪問(wèn)

1> 蘋果的生態(tài)圈,從iOS7.0.3版本,開放給開發(fā)者
2> 鑰匙串加密方式是AES加密,可以將保存的密碼以明文的方式反算給你
3> 蘋果原生的接口,都是C語(yǔ)言

1.下載 SSKeyChain
2. 根據(jù)GitHub上的指示,操作項(xiàng)目
3. TARGETS-> Capabilities-> Keychain Sharing ->ON

結(jié)束語(yǔ)

畢業(yè)了,心情復(fù)雜,略帶平靜......
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這篇文章主要講述在Mobile BI(移動(dòng)商務(wù)智能)開發(fā)過(guò)程中,在網(wǎng)絡(luò)通信、數(shù)據(jù)存儲(chǔ)、登錄驗(yàn)證這幾個(gè)方面涉及的加密...
    雨_樹閱讀 3,047評(píng)論 0 6
  • 在介紹加密算法之前, 先介紹一下 base64: 0. base64 Base64要求把每三個(gè)8Bit的字節(jié)轉(zhuǎn)換為...
    reboot_q閱讀 13,762評(píng)論 3 8
  • 這里先簡(jiǎn)單介紹單向散列函數(shù)、消息摘要和哈希碰撞的的概念 單向散列函數(shù): 將任意長(zhǎng)度的信息轉(zhuǎn)換為較短的固定長(zhǎng)度的值,...
    坤_7a1e閱讀 3,651評(píng)論 0 0
  • 所有的煩惱都去吧
    海堤文昌魚閱讀 215評(píng)論 0 0
  • 文/冰雪伊人 —詞曲系列— 西風(fēng)瑟瑟庭前樹,再回首,人生路。落魄華年誰(shuí)與訴?桂花斂影,蘭燈凝語(yǔ),莫想歸期聚。 夜長(zhǎng)...
    西域冰雪閱讀 1,028評(píng)論 30 39

友情鏈接更多精彩內(nèi)容