最新回答 / 宋兆恒
前端后端都是應(yīng)該要加密的,前端可以發(fā)送一個(gè)hidden域的加密后的password到后臺,后臺再對這段數(shù)據(jù)進(jìn)行再次加密的處理,兩端的加密算法不一樣,由雙方自己掌握,但是明文密碼按規(guī)矩是不可以直接傳輸?shù)摹2灰獋鬏斆魑拿艽a。 實(shí)際上你傳過來到后臺的數(shù)據(jù)。在我后臺看來就是密碼,我后臺會(huì)對這段字符再次進(jìn)行加密,數(shù)據(jù)庫中會(huì)儲(chǔ)存我加密后的密碼值。校驗(yàn)的時(shí)候,從數(shù)據(jù)庫取出加密后的密碼,并獲取前端傳輸過來的字符串,用相應(yīng)的算法對兩者進(jìn)行比對就可以了。
2019-04-19
最贊回答 / 水不要魚_
你有沒有發(fā)現(xiàn)MD5 加密之后的長度是一樣的,不管原本的信息有多長?這是因?yàn)?MD5 是摘要算法,有點(diǎn)類似于從你要加密的信息中選取一部分信息出來加密,所以即使你得到了 MD5 加密之后的結(jié)果,也很難從一部分信息中反推出原本的完整信息。另外,MD5 也是存在被破解的情況,那就是最傳統(tǒng)的破解方法,從一堆數(shù)據(jù)中一個(gè)個(gè)去試。所以, MD5 可以設(shè)置一個(gè)鹽值,類似于干擾信息,可以降低被破解的概率。
2018-05-30
最新回答 / 慕粉2333001784
你應(yīng)該是對一個(gè)對象用了toString方法,所以才會(huì)這樣,你再看看你需要輸出的到底是什么?用GET方法后再toString或許就可以了
2018-04-02
最新回答 / 蝶夢疏妄
可能是轉(zhuǎn)義的時(shí)候出的問題因?yàn)槲?public static void bcHmacMD5() { HMac hmac = new HMac(new MD5Digest()); hmac.init(new KeyParameter(org.bouncycastle.util.encoders.Hex.decode(""))); hmac.update(src.getBytes(), 0, src.getBytes().length); // ...
2017-07-01
最新回答 / taoy
一個(gè)byte是八比特,new String時(shí)按照byte的值到字符表中找對應(yīng)的字符來生成字符串。Hex.byteArrayToString是把一個(gè)byte變成兩個(gè)十六進(jìn)制的英文與數(shù)字組合,內(nèi)容當(dāng)然就不會(huì)一樣。
2017-04-10
最贊回答 / 宋兆恒
無論輸入的消息有多長,計(jì)算出來的消息摘要的長度總是固定的。例如應(yīng)用MD5算法摘要的消息有128個(gè)比特位,用SHA-1算法摘要的消息最終有160比特位的輸出,SHA-1的變體可以產(chǎn)生192比特位和256比特位的消息摘要。一般認(rèn)為,摘要的最終輸出越長,該摘要算法就越安全。
2017-03-02
最新回答 / 無語的人
不一定是10個(gè),key的元素個(gè)數(shù)是偶數(shù)就行。以下是CC的Hex.decodeHex()方法的文檔注釋:<...圖片...>BC報(bào)這個(gè)異常的原因應(yīng)該類似。
2016-12-06
最新回答 / 慕后端6532889
。。。eclipse么?去官網(wǎng)下唄eclipse下載? 。話說,我現(xiàn)在都不用eclipse了,IntellJ?IDEA編輯器挺好用的,主要是顏值比eclipse高,快捷鍵也多,代碼提示也更智能。IDEA學(xué)生通道
2016-11-07