實現方法有:
1.對已經進行過md5加密的資料再次進行md5加密。
2.對原有資料加一串其他字元來使其變得複雜也可以做到不能被解碼。(所加字串一般是已經協商好的)
1、壓縮性:任意長度的資料,算出的md5值長度都是固定的。
2、容易計算:從原資料計算出md5值很容易。
3、不可逆:對原資料進行任何改動,哪怕只修改1個位元組,所得到的md5值都有很大區別,且不可逆。
4、弱抗碰撞:已知原資料和其md5值,想找到乙個具有相同md5值的資料(即偽造資料)是非常困難的。
5、強抗碰撞:想找到兩個不同的資料,使它們具有相同的md5值,是非常困難的。
先將字串轉換成位元組陣列把陣列中每個位元組拿出來與0xff相與將其所得值轉換成int型,得到乙個16組的資料,每組資料都佔兩位,當然得到的資料可能不是32位,但是md5的資料嚴格要求所得資料必須是32位,所以我們會遍歷陣列把不是兩位的資料其前面加上乙個0使其成為兩位。這樣我們就一定能的到乙個32位的資料了。
public static string createmd5(string str)
}} catch (nosuchalgorithmexception e) catch (unsupportedencodingexception e)
return stringbuffer.tostring();
}
java實現md5加密
一 加鹽方式public static string ge 5 string content throws nosuchalgorithmexception 標準的md5加密結果 return buffer.tostring 二 普通方式public static string ge 5byordi...
Java實現MD5加密
呼叫 string password new string qweqwe password stringmd5 password md5加密 param input return public static string stringmd5 string input catch nosuchalgo...
Java下實現MD5加密
private final static string hexdigits 十六進製制下數字到字元的對映陣列 函式名稱 encodebymd5 功能描述 將傳入字元竄用md5加密 傳入引數 要加密的字元竄 originstring string 返回型別 string 版本編號 1.00 修改履歷 ...