第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

使用了 HashedCredentialsMatcher 后密碼并沒有加密?

不太清楚有沒有碰到密碼沒有真正加密的問題...吾輩在 CustomRealm 中對傳進來的密碼進行了斷點查看發(fā)現(xiàn)并沒有加密(還是明文), 老師的課程中沒有對比密碼, 不知道會不會有沒有問題呢? (」゜ロ゜)」

https://img1.sycdn.imooc.com//5ae277a7000165c407760315.jpg

查看傳入的 token 的值

https://img1.sycdn.imooc.com//5ae277ea0001eba114650259.jpg

正在回答

4 回答

同學(xué)你好,你配置的只是shiro驗證的加密規(guī)則,在你保存的時候并沒有去加密,所以數(shù)據(jù)庫里的密碼還是明文,你在保存的方法那里設(shè)置一下加密算法名字,加密次數(shù),鹽值即可。例子如下:

public?void?insert(User?user1)?{
??//對用戶密碼進行加鹽處理
??String?salt?=?RandomStringUtils.randomAlphabetic(20);
??user.setPassword(new?SimpleHash("MD5",user1.getPassword(),salt,20).toHex());
??user1.setPassword(new?Sha256Hash(user1.getPassword(),salt,20).toHex());
??user1.setSalt(salt);
??this.save(user1);
}


0 回復(fù) 有任何疑惑可以回復(fù)我~

你看的密碼沒有加密是正確的,

HashedCredentialsMatcher中的
public?boolean?doCredentialsMatch(AuthenticationToken?token,?AuthenticationInfo?info)?{
????Object?tokenHashedCredentials?=?hashProvidedCredentials(token,?info);
????Object?accountCredentials?=?getCredentials(info);
????return?equals(tokenHashedCredentials,?accountCredentials);
}
方法會對傳過來的明文密碼按照HashedCredentialsMatcher對象的設(shè)置進行加密,然后與數(shù)據(jù)庫里面的加密密碼進行比對的


0 回復(fù) 有任何疑惑可以回復(fù)我~

我也是。。。。。。。沒有跟視頻里一樣,根本沒散列。。

0 回復(fù) 有任何疑惑可以回復(fù)我~

你的自定義realm的doGetAuthenticationInfo少了一行代碼,?指定salt鹽值。

如下:

SimpleAuthenticationInfo?saf?=?new?SimpleAuthenticationInfo(username,?user.getPassword(),?this.getName());
saf.setCredentialsSalt(ByteSource.Util.bytes(SALT));
return?saf;
0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

hodge

沒有+鹽值導(dǎo)致的? 開始在設(shè)置realm的時候指定鹽值(獲取到的鹽值)放進去并返回是不是就不用你現(xiàn)在寫的這一步?
2019-09-24 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

使用了 HashedCredentialsMatcher 后密碼并沒有加密?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號