瀉藥,
首先,md5 和Java無關,md5是一種摘要算法(和加密有區別),Java是一種編程語言,你可以說可以用Java實現一個md5摘要函數。
其次,重申md5不是加密,而是摘要, 加密只有可以解密(即通過密文得出原文)才有意義,而知道一個字符串的摘要是無法(或者說很難)得到原字符串的。一些網站說得解密md5,其實是“碰撞”,y=md5(x) 這個函數的定義域是無窮的,而值域是有限的。所以這個函數是一個 多對一 函數。假設 Y = md5(x1) Y = md5(x2) 即x1和x2兩個字符串進行摘要之后的值相等,那么我給你這個摘要之后的值Y (由x1摘要得來), 那么所謂的解密,就是找到一個字符串x,x進行md5摘要之后的值也是Y ,這個x興許是x2 ,也可能是其他的,當然也可能是x1,而且理論上說x的個數是無限的。所以你想要通過Y 真真切切的得到x1,這幾乎是不可能的。
最后,除了md5摘要,還有很多其他的摘要算法,比如sha家族的摘要算法等。
技術小白,匆匆落筆。不當之處,還請指正。
上一篇核心員工在非常時期要離職
下一篇lol全員靜音代碼?