java 實現各種加密(MD5 ,SHA-1,SHA-256)
常用加密演算法通用方法:
package BinTest.bin;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class jiami {
public static void main(String args[]){
String signString="Thank you!";
String type="SHA-1";
String result=sign(signString,type);
System.out.println("採用" +type+"加密之後的串為:"+result);
type="MD5";
result=sign(signString,type);
System.out.println("採用"+type+"加密之後的串為:"+result);
type="SHA-256";
result=sign(signString,type);
System.out.println("採用"+type+"加密之後的串為:"+result);
type="SHA-384";
result=sign(signString,type);
System.out.println("採用" +type+"加密之後的串為:"+result);
}
//簽名
public static String sign(String str, String type){
String s=Encrypt(str,type);
return s;
}
public static String Encrypt(String strSrc, String encName) {
MessageDigest md = null;
String strDes = null ;
byte[] bt = strSrc.getBytes();
try {
md = MessageDigest.getInstance(encName);
md.update(bt);
strDes = bytes2Hex(md.digest()); // to HexString
} catch (NoSuchAlgorithmException e) {
System.out.println("簽名失敗!");
return null;
}
return strDes;
}
public static String bytes2Hex(byte[] bts) {
String des = "";
String tmp = null;
for (int i = 0; i < bts.length; i++) {
tmp = (Integer.toHexString(bts[i] & 0xFF));
if (tmp.length() == 1) {
des += "0";
}
des += tmp;
}
return des;
}
}
執行結果:
採用SHA-1加密之後的串為:184eb63a906e3136190bfe5ddab6df3340bd9b91
採用MD5加密之後的串為:498cd895eb5a102c5aeb977e2b928dee
採用SHA-256加密之後的串為:3afdda2c098fc8346a9f2e0ba06ec9c6188411cf78cc7934cfd8b666ce632f55
採用SHA-384加密之後的串為:219604fb00c9d599e84a79821123275b54a08080f26c911b177c9b3893c4996337a4c8caf9eea8fcff6b438b77f68b8b
相關推薦
java 實現各種加密(MD5 ,SHA-1,SHA-256)
常用加密演算法通用方法: package BinTest.bin; import java.security.MessageDigest; import java.security.NoSuchAl
用Java實現AES加密(轉)
密鑰 工具 mex 嚴格 keys 生產 ner for 創建 一)什麽是AES? 高級加密標準(英語:Advanced Encryption Standard,縮寫:AES),是一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。 那麽為什麽
JAVA 資料庫密碼加密(MD5)
文章出處:http://xxiao0359.blog.163.com/blog/static/979413752010109045701/ import java.security.MessageDigest; public class Password&nbs
java實現常見排序(選擇,冒泡,插入,快速,希爾,堆)
選擇排序定義一個的標誌位temp,預設為比較的第一個數的下標,分別與後面的數進行比較,若比比較的數字大,則把該數的下標賦給temp,迴圈一次結束後判斷temp的值,若temp值跟第一個數的下標不一樣,則
java連線各種資料庫(Oralce,MySQL,SQLServer,DB2,Infomix,SyBase,PostgreSQL)方法
以後肯定會用到 1 Java 連線 Oralce Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:
Java實現的SFTP(檔案上傳詳解篇)
JSch是Java Secure Channel的縮寫。JSch是一個SSH2的純Java實現。它允許你連線到一個SSH伺服器,並且可以使用埠轉發,X11轉發,檔案傳輸等,當然你也可以整合它的功能到你自己的應用程式。 本文只介紹如何使用JSch實現的SFTP功能
Java程式設計師從笨鳥到菜鳥之(四)java開發常用類(包裝,數字處理集合等)(上)
一:首談java中的包裝類 Java為基本型別提供包裝類,這使得任何接受物件的操作也可以用來操作基本型別,直接將簡單型別的變量表示為一個類,在執行變數型別的相互轉換時,我們會大量使用這些包裝類。java是一種面嚮物件語言,java中的類把方法與資料連線在一起,並構成了自
Java程式設計師從笨鳥到菜鳥之(五)java開發常用類(包裝,數字處理集合等)(下)
寫在前面:由於前天專案老師建設局的專案快到驗收階段,所以,前天晚上通宵,昨天睡了大半天,下午我們宿舍聚會,所以時間有點耽誤,希望大家見諒上接:3.Set接 口也是Collection的一種擴充套件,而與List不同的時,在Set中的物件元素不能重複,也就是說你不能把同樣的東西兩
java實現下載excle(jxl和poi 兩種方式)
@RequestMapping(value="/download_index") public String downloadExcel(HttpServletRequest request,HttpServletResponse response,String nam
模擬RSA雙向驗證,並且實現DES加密以及MD5校驗過程(python程式碼實現)
要求如下: (1)A,B兩端各生成公鑰金鑰對(PA,SA), 金鑰對(PB,SB)。 (2)A端生成隨機數N1,用B的公鑰PB加
java實現各種排序演算法(包括氣泡排序,選擇排序,插入排序,快速排序(簡潔版))及效能測試
1、氣泡排序是排序裡面最簡單的了,但效能也最差,數量小的時候還可以,數量一多,是非常慢的。 它的時間複雜度是O(n*n),空間複雜度是O(1) 程式碼如下,很好理解。 public static void bubbleSort(int[] arr)
Java利用MessageDigest實現加密(MD5)
MD5是常用的加密演算法,也經常用於校驗資訊完整,如檔案的完整性。用術語講,MD5是一種訊息摘要演算法(Message Digest Algorithm)。另外還有一種常用的訊息摘要演算法SHA1。如果想了解這些的話,可以去百度百科:MD5、SHA1、訊息摘要演算法。
java實現各種資料統計圖(柱形圖,餅圖,折線圖)
最近在做資料探勘的課程設計,需要將資料分析的結果很直觀的展現給使用者,這就要用到資料統計圖,要實現這個功能就需要幾個第三方包了: 1. jfreechart-1.0.13.jar 2. jcommon-1.0.16.jar 3. gnuj
PYTHON自動化Day6-函式多個返回值和匿名函式、列表生成式,三元運算子,os模組,sys模組,時間模組,字典排序,資料庫操作,加密(md5)
一.函式多個返回值和匿名函式 #函式返回多個值,用一個變數接收 def say(): num1=1 num2=2 num3=3 return num1,num2,num3 res=say() print(res) #打印出來是元組。 函式如果返回多個值的話,會把返回的
小程式訊息推送(含原始碼)java實現小程式推送,springboot實現微信訊息推送
最近需要開發微信和小程式的推送功能,需要用java後臺實現推送,自己本身java和小程式都做,所以就自己動手實現下小程式的模版推送功能推送。 實現思路 1 小程式獲取使用者openid,收集formid傳給java後臺 2 java推送訊息給指定小程式使用
Java實現簡單的資料遷移,從單庫單表到單庫單表(2)
這個文章是對我上一篇文章Java實現簡單的資料遷移,從單庫單表到單庫單表的簡單擴充套件因為我上一篇文章那種方法只能把資料進行簡單的遷移,但是這裡我需要對資料庫的內容進行重新的編排,所以很顯然,我上一篇文章的寫法是沒法完成我的需求的。 重申一下需求: 從一張資料表
資料加解密基礎知識介紹,及Java實現Base64加密
加密流程涉及的一些關鍵詞: 明文:準備加密的資訊 加密:把明文處理為密文的過程 加密演算法:具體實現明文轉為密文的演算法 加密金鑰:通過加密演算法進行加密操作需要的金鑰 密文:被加密的明文 解密:將密文轉為明文的過程 解密演算法:具體實現密文轉為明文的演算法 解
java DES演算法實現字串加密(本地txt存取)
什麼是DES加密演算法 常見加密演算法有對稱加密演算法和非對稱加密演算法,它們的區別是加密和解密使用的是否是同一把鑰匙,常見的對稱加密演算法有DES,非對稱演算法有RSA,我們這裡重點介紹DES加密演算法,我們希望把這種演算法應用在本地賬號密碼資訊的加密上。顧名思義,祕鑰在這裡用來加密資
JAVA中MD5加密(MD5工具類)
工具類如下:import java.security.MessageDigest; /** * @Author:Starry * @Description: * @Date:Created in 9
Java實現各種檔案轉PDF(使用OpenOffice)
最近遇到一個學習平臺的專案,涉及到各種文件,為了站點資源的安全性,文件全部需要轉成pdf,只供使用者瀏覽。翻閱了很多資料,看了一個博主寫的使用open office實現的方式,簡單明瞭,這裡也分享一下。 這裡介紹在win環境下的openoffice使用。 百度搜索:open