MD5加密工具類封裝(加鹽)

2021-09-24 09:10:53 字數 1443 閱讀 6295

/**

* 生成32位md5碼

* @param password

* @return

*/public static string md5password(string password)

}// 標準的md5加密後的結果

return buffer.tostring();

} catch (nosuchalgorithmexception e)

}

每次儲存密碼到資料庫時,都生成乙個隨機16位數字,將這16位數字和密碼相加再求md5摘要,然後在摘要中再將這16位數字按規則摻入形成乙個48位的字串。

在驗證密碼時再從48位字串中按規則提取16位數字,和使用者輸入的密碼相加再md5。按照這種方法形成的結果肯定是不可直接反查的,且同乙個密碼每次儲存時形成的摘要也都是不同的。

public class textutil  catch (exception e) 

}/**

* 獲取48位加密密碼**/

public static string generate(string password)

}string salt = sb.tostring();

password = ge***5(password + salt);

char cs = new char[48];

for (int i = 0; i < 48; i += 3)

return new string(cs);

}/**

* 校驗密碼是否正確

*/public static boolean verify(string password, string md5)

string salt = new string(cs2);

return ge***5(password + salt).equals(new string(cs1));

}}

public class md5util 

private static string bytetohexstring(byte b)

/*** 返回大寫md5

** @param origin

* @param charsetname

* @return

*/private static string md5encode(string origin, string charsetname) catch (exception exception)

return resultstring.touppercase();

}public static string md5encodeutf8(string origin)

private static final string hexdigits = ;

}

MD5加密工具類

這是乙個個人認為非常好用的使用md5 salt加密的工具類,一部分 由網上搜尋而得,一部分自己修改新增之後而得。使用這個工具類,非常簡單,從前台拿到密碼passwd,直接hexutil.getencryptedpwd passwd 就可以返回乙個長度為56的字串,可以用來儲存到 資料庫中,相反,登入...

MD5加密工具類

md5資訊摘要演算法 md5 message digest algorithm 一種被廣泛使用的密碼雜湊函式,可以產生出乙個128位 16位元組 的雜湊值 hash value 用於確保資訊傳輸完整一致。md5由美國密碼學家羅納德 李維斯特 ronald linn rivest 設計,於1992年公...

MD5加密及加鹽salt

1.不加salt時每次生成的都不一樣,shane ubuntu newdisk4 qtcreater zlg qt 4.8.6 qt everywhere opensource src 4.8.6 examples desktop screenshot openssl passwd 1 123 1 ...