登錄安全

App登錄常見(jiàn)的安全點(diǎn):
1.密碼的安全
2.token值安全使用

密碼存儲(chǔ)

用戶密碼必須不能明文存儲(chǔ)。如果數(shù)據(jù)庫(kù)泄露津滞,那么所有用戶的密碼就會(huì)被泄露耕陷,存在非常高的安全風(fēng)險(xiǎn)。
用戶密碼不能直接hash存儲(chǔ)据沈。hash破解現(xiàn)在已經(jīng)不是一件難事哟沫,方法有查表法、反向查表法锌介、彩虹表等嗜诀。
在存儲(chǔ)用戶密碼的時(shí)候,一定要考慮的是加鹽hash孔祸。所謂 鹽(salt) 實(shí)際是一個(gè)隨機(jī)字符串隆敢,在用戶密碼的前面或者后面加一個(gè)隨機(jī)字符串,然后再hash崔慧,即使hash被破解拂蝎,也能保證用戶密碼不丟失。
加鹽hash需要一些基本原則:

鹽值永遠(yuǎn)不要重復(fù)使用惶室;
每個(gè)用戶的每一個(gè)密碼都要使用獨(dú)一無(wú)二的鹽值温自;
用戶每次創(chuàng)建帳號(hào)或更改密碼時(shí),密碼應(yīng)采用一個(gè)新的隨機(jī)鹽值;
鹽值需要單獨(dú)存儲(chǔ)皇钞,或者固定鹽值長(zhǎng)度悼泌,然后固定放在 hash結(jié)果 的某個(gè)位置鹽值不要太短,建議32位以上;

MD5 夹界、SHA1馆里、SHA256、SHA512可柿、RipeMD鸠踪、WHIRLPOOL、SHA3等hash算法复斥,都屬于快速加密hash函數(shù)营密,他們的弱點(diǎn)在于,加密快永票,破解也快卵贱。建議使用 慢哈希函數(shù) 進(jìn)行hash處理滥沫,如 PBKDF2 或 bcrypt的安全版本侣集。 慢哈希函數(shù) 在hash的計(jì)算過(guò)程中键俱,也會(huì)變慢,但是這個(gè)速度是可以根據(jù)參數(shù)調(diào)整的世分,建議慢hash時(shí)間調(diào)整到200ms-500ms编振,如果速度過(guò)慢,容易讓系統(tǒng)遭受ddos攻擊臭埋。到這一步踪央,系統(tǒng)還不是完全的安全。如果我們采用加密算法瓢阴,比如 AES對(duì)稱加密畅蹂,對(duì)hash結(jié)果進(jìn)行加密,那么只有知道秘鑰的人才能解密出hash結(jié)果荣恐,然后才有機(jī)會(huì)對(duì)hash破解液斜。

密碼的傳輸

用戶在注冊(cè)或者登陸時(shí),需要將密碼傳遞到服務(wù)端叠穆。但是要嚴(yán)禁明文傳輸密碼少漆。
建議的一種方案是,MD5算法對(duì)密碼進(jìn)行加密傳輸:

public class MD5Utils {

    public static String md5(String plainText) {
        byte[] secretBytes = null;
        try {
            secretBytes = MessageDigest.getInstance("md5").digest(plainText.getBytes());
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException("加密失敗");
        }
        return new BigInteger(1, secretBytes).toString(16);
    }
}

根據(jù)MD5的特點(diǎn):不可逆,唯一性的特點(diǎn),這種將MD5值作為密碼使用的好處是:前端用戶設(shè)置的密碼,只有用戶本人知道,即是密碼攔截掉,無(wú)法破解真正的密碼(MD5不可逆),從而從源頭保證密碼的安全性.

提示語(yǔ)方面

不要刻意的告訴用戶輸錯(cuò)的究竟是用戶名還是密碼硼被。
防止攔截?cái)?shù)據(jù)測(cè)試;
典型的提示一般:“你輸入的用戶名或密碼不正確”示损。

token值得使用原理:

Token原理:服務(wù)器端在處理到達(dá)的請(qǐng)求之前,會(huì)將請(qǐng)求中包含的令牌值與保存在當(dāng)前用戶會(huì)話中的令牌值進(jìn)行比較嚷硫,看是否匹配检访。在處理完該請(qǐng)求后,且在答復(fù)發(fā)送給客戶端之前仔掸,將會(huì)產(chǎn)生一個(gè)新的令牌烛谊,該令牌除傳給客戶端以外,也會(huì)將用戶會(huì)話中保存的舊的令牌進(jìn)行替換嘉汰。這樣如果用戶回退到剛才的提交頁(yè)面并再次提交的話丹禀,客戶端傳過(guò)來(lái)的令牌就和服務(wù)器端的令牌不一致,從而有效地防止了重復(fù)提交的發(fā)生.
其實(shí)token就是一個(gè)令牌鞋怀,用來(lái)判斷身份的双泪。
首先服務(wù)器創(chuàng)建一個(gè)token傳到客戶端,客戶端每次請(qǐng)求密似,都把token傳給服務(wù)器驗(yàn)證身份焙矛。
將id加密為token,然后把token解密為id

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末残腌,一起剝皮案震驚了整個(gè)濱河市村斟,隨后出現(xiàn)的幾起案子贫导,更是在濱河造成了極大的恐慌,老刑警劉巖蟆盹,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孩灯,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡逾滥,警方通過(guò)查閱死者的電腦和手機(jī)峰档,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)寨昙,“玉大人讥巡,你說(shuō)我怎么就攤上這事√蚰模” “怎么了欢顷?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)捉蚤。 經(jīng)常有香客問(wèn)我抬驴,道長(zhǎng),這世上最難降的妖魔是什么外里? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任怎爵,我火速辦了婚禮,結(jié)果婚禮上盅蝗,老公的妹妹穿的比我還像新娘鳖链。我一直安慰自己,他們只是感情好墩莫,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布芙委。 她就那樣靜靜地躺著,像睡著了一般狂秦。 火紅的嫁衣襯著肌膚如雪灌侣。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天裂问,我揣著相機(jī)與錄音侧啼,去河邊找鬼。 笑死堪簿,一個(gè)胖子當(dāng)著我的面吹牛痊乾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播椭更,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼哪审,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了虑瀑?” 一聲冷哼從身側(cè)響起湿滓,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤滴须,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后叽奥,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體扔水,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年而线,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铭污。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恋日。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡膀篮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出岂膳,到底是詐尸還是另有隱情誓竿,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布谈截,位于F島的核電站筷屡,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏簸喂。R本人自食惡果不足惜毙死,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望喻鳄。 院中可真熱鬧扼倘,春花似錦、人聲如沸除呵。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)颜曾。三九已至纠拔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泛豪,已是汗流浹背稠诲。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留诡曙,地道東北人臀叙。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像岗仑,于是被迫代替她去往敵國(guó)和親匹耕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容