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