登錄+加密

加密的幾種算法

非對稱加密?RSA 公鑰 私鑰

散列函數(shù) -MD5(32位密鑰)-SHA1(40位密鑰) ?-SHA256(64位密鑰) -SHA512(128位密鑰)

對稱加密 DES ?3DES??AES(相對最安全的加密)。等等加密方式

寫app的時候,密碼在網(wǎng)絡(luò)上、本地存儲,都不可以使用明文,所以需要進行加密

最早使用MD5的方式進行加密,但是目前MD5已經(jīng)被破解,破解方式是通過大量的數(shù)據(jù)對比以及散列碰撞,獲取大量的數(shù)據(jù),其實MD5本身是不可被反序列化的

所以信息安全該如何保證呢?

加鹽 ? ?(注意:服務(wù)器本身不需要知道用戶的密碼是什么,只需要對比加密后的數(shù)據(jù))

-固定鹽:有安全隱患,所有人都知道鹽是什么,如果員工離職帶走了鹽,泄漏出去后,所有用戶的密碼都會被破解

-隨機鹽:比較安全 ,從服務(wù)器獲取一個隨機鹽,保存在本地,通過hmac加密算法,進行加密

隨機鹽雖然比較安全,但是有安全隱患,假如黑客截獲了你的url拿到了數(shù)據(jù),他可以模擬請求,一樣可以登錄進你的賬號,這時候我們可以設(shè)置一個時效性,通過hmac加密后的數(shù)據(jù) 拼接 時間 再進行一次md5,就可以了,大致流程如下:

客戶端擁有: 密鑰(key)、用戶名(username)、原始密碼(password)

newPassword = MD5 (hmac(password+key) + 時間戳)

服務(wù)器端擁有:?密鑰(key)、用戶名(username)、hmac(password + key)

這時候 有hmac(password + key)了,那么,只需要 在加上時間戳 進行一次MD5加密

然后對比客戶端和服務(wù)器端的進行MD5的結(jié)果是否一致,判斷是否登錄成功

那么時間戳該怎么獲取呢,因為前端獲取的本地時間有可能被更改,所以需要從服務(wù)器獲取時間,或者你使用的哪個時間進行的md5,就把這個時間傳遞給服務(wù)器,讓其加密后對比,具體看需求而定

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

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,586評論 19 139
  • 本文主要介紹移動端的加解密算法的分類、其優(yōu)缺點特性及應(yīng)用,幫助讀者由淺入深地了解和選擇加解密算法。文中會包含算法的...
    蘋果粉閱讀 11,679評論 5 29
  • 一、GET/POST方法簡介&用戶安全 1、GET/POST方法簡介 在客戶端和服務(wù)器之間進行請求-響應(yīng)時,兩種最...
    方圓十里不留母狗閱讀 32,575評論 0 13
  • 在我難過的時候更多的是文字的陪伴. 關(guān)于感情:有一個詞語 友達之上,戀人未滿,很多人應(yīng)該都有這樣類似的樣子,說白...
    Fighting徐先生閱讀 222評論 0 0
  • 馬上就要過年了,家里的好味道也開始有條不紊的張羅起來了,一年忙到頭唯一放松的節(jié)日就是過年時的假期,可以玩的...
    Demage的世界閱讀 814評論 0 1

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