java中加密的實(shí)現(xiàn)方法(MD5,MD2,SHA)
更新時間:2017年08月07日 09:41:12 投稿:lqh
這篇文章主要介紹了java中加密的實(shí)現(xiàn)方法(MD5,MD2,SHA)的相關(guān)資料,這里提供三種實(shí)現(xiàn)加密的方法,大家可以對比一下,需要的朋友可以參考下
java中加密的實(shí)現(xiàn)方法(MD5,MD2,SHA)
實(shí)例代碼:注釋都很清楚,
import java.security.MessageDigest;
import javax.xml.bind.annotation.adapters.HexBinaryAdapter;
public class Main {
static String src = "Hello,sahadev!";
public static void main(String[] args) {
MD5();
MD2();
SHA();
}
/**
* MD5加密
*/
public static void MD5() {
try {
// 獲取MD5加密工具
MessageDigest md = MessageDigest.getInstance("MD5");
// 加密
byte[] digest = md.digest(src.getBytes());
// 獲取二進(jìn)制十六進(jìn)制互轉(zhuǎn)工具
HexBinaryAdapter hexBinaryAdapter = new HexBinaryAdapter();
// 將二進(jìn)制數(shù)組轉(zhuǎn)換為十六進(jìn)制字符串
String marshal = hexBinaryAdapter.marshal(digest);
// 輸出結(jié)果
System.out.println(marshal);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* MD2加密
*/
public static void MD2() {
try {
// 獲取MD2加密工具
MessageDigest md = MessageDigest.getInstance("MD2");
// 加密
byte[] digest = md.digest(src.getBytes());
// 獲取二進(jìn)制十六進(jìn)制互轉(zhuǎn)工具
HexBinaryAdapter hexBinaryAdapter = new HexBinaryAdapter();
// 將二進(jìn)制數(shù)組轉(zhuǎn)換為十六進(jìn)制字符串
String marshal = hexBinaryAdapter.marshal(digest);
// 輸出結(jié)果
System.out.println(marshal);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void SHA() {
try {
// 獲取MD2加密工具
MessageDigest md = MessageDigest.getInstance("SHA");
// 加密
byte[] digest = md.digest(src.getBytes());
// 獲取二進(jìn)制十六進(jìn)制互轉(zhuǎn)工具
HexBinaryAdapter hexBinaryAdapter = new HexBinaryAdapter();
// 將二進(jìn)制數(shù)組轉(zhuǎn)換為十六進(jìn)制字符串
String marshal = hexBinaryAdapter.marshal(digest);
// 輸出結(jié)果
System.out.println(marshal);
} catch (Exception e) {
e.printStackTrace();
}
}
}
輸出結(jié)果:
MD5 : 8FC69C57ACC2258C7B4A9D39DC4C940B MD2 : 9EAF08289903A29C3C58D2AAA25BD83D SHA : 1B1330BFC6257FC9F4B4ED5CB605FA4109608CCA
以上就是java 加密的實(shí)例,如疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
JDBC實(shí)現(xiàn)Mysql自動重連機(jī)制的方法詳解
最近在工作中發(fā)現(xiàn)了一個問題,通過查找相關(guān)的資料終于解決了,下面這篇文章主要給大家介紹了關(guān)于JDBC實(shí)現(xiàn)Mysql自動重連機(jī)制的相關(guān)資料,文中給出多種解決的方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07
MyBatis實(shí)現(xiàn)表連接查詢寫法(三種對應(yīng)關(guān)系)的方法總結(jié)
這篇文章主要介紹了MyBatis實(shí)現(xiàn)表連接查詢寫法(一對一關(guān)系、一對多關(guān)系、多對多關(guān)系)的方法,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-01-01
java獲取新insert數(shù)據(jù)自增id的實(shí)現(xiàn)方法
這篇文章主要介紹了java獲取新insert數(shù)據(jù)自增id的實(shí)現(xiàn)方法,在具體生成id的時候,我們的操作順序一般是:先在主表中插入記錄,然后獲得自動生成的id,以它為基礎(chǔ)插入從表的記錄,需要的朋友可以參考下2019-06-06
Java Spring的數(shù)據(jù)庫開發(fā)詳解
這篇文章主要介紹了Spring的數(shù)據(jù)庫開發(fā),主要圍繞SpringJDBC和Spring Jdbc Template兩個技術(shù)來講解,文中有詳細(xì)的代碼示例,需要的小伙伴可以參考一下2023-04-04
idea使用spring Initializr 快速搭建springboot項目遇到的坑
這篇文章主要介紹了idea使用spring Initializr 快速搭建springboot項目遇到的坑,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11

