md5碰撞Java_java现在MD5加密不安全了吗?
瀉藥,
首先,md5 和Java無(wú)關(guān),md5是一種摘要算法(和加密有區(qū)別),Java是一種編程語(yǔ)言,你可以說(shuō)可以用Java實(shí)現(xiàn)一個(gè)md5摘要函數(shù)。
其次,重申md5不是加密,而是摘要, 加密只有可以解密(即通過(guò)密文得出原文)才有意義,而知道一個(gè)字符串的摘要是無(wú)法(或者說(shuō)很難)得到原字符串的。一些網(wǎng)站說(shuō)得解密md5,其實(shí)是“碰撞”,y=md5(x) 這個(gè)函數(shù)的定義域是無(wú)窮的,而值域是有限的。所以這個(gè)函數(shù)是一個(gè) 多對(duì)一 函數(shù)。假設(shè) Y = md5(x1) Y = md5(x2) 即x1和x2兩個(gè)字符串進(jìn)行摘要之后的值相等,那么我給你這個(gè)摘要之后的值Y (由x1摘要得來(lái)), 那么所謂的解密,就是找到一個(gè)字符串x,x進(jìn)行md5摘要之后的值也是Y ,這個(gè)x興許是x2 ,也可能是其他的,當(dāng)然也可能是x1,而且理論上說(shuō)x的個(gè)數(shù)是無(wú)限的。所以你想要通過(guò)Y 真真切切的得到x1,這幾乎是不可能的。
最后,除了md5摘要,還有很多其他的摘要算法,比如sha家族的摘要算法等。
技術(shù)小白,匆匆落筆。不當(dāng)之處,還請(qǐng)指正。
總結(jié)
以上是生活随笔為你收集整理的md5碰撞Java_java现在MD5加密不安全了吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python importlib_met
- 下一篇: java 圆的交点_java求两个圆相交