java證書的加密與解密程式碼
java很多時候要對祕要進行持久化加密,此時的加密採用md5。採用對稱加密的時候就採用DES方法了,那麼java證書的加密與解密程式碼是什麼呢?下面跟yjbys小編一起來學習一下吧!
以下兩個類可以很方便的完成字串的加密和解密:
加密:ypt(password)
解密:ypt(password)
程式碼如下:
[java]
package t;
import ception;
import er;
import enerator;
import etKey;
import 64;
public class CryptUtils {
private static String Algorithm = "DES";
private static byte[] DEFAULT_KEY=new byte[] {-53, 122, -42, -88, -110, -123, -60, -74};
private static String VALUE_ENCODING="UTF-8";
/**
* 生成金鑰
*
* @return byte[] 返回生成的金鑰
* @throws exception
* 扔出異常.
*/
public static byte[] getSecretKey() throws Exception {
KeyGenerator keygen = nstance(Algorithm);
SecretKey deskey = rateKey();
// if (debug ) tln ("生成金鑰:"+byte2hex (ncoded
// ()));
return ncoded();
}
/**
* 將指定的資料根據提供的金鑰進行加密
*
* @param input
* 需要加密的資料
* @param key
* 金鑰
* @return byte[] 加密後的資料
* @throws Exception
*/
public static byte[] encryptData(byte[] input, byte[] key) throws Exception {
SecretKey deskey = new etKeySpec(key, Algorithm);
// if (debug )
// {
// tln ("加密前的二進串:"+byte2hex (input ));
// tln ("加密前的字串:"+new String (input ));
//
// }
Cipher c1 = nstance(Algorithm);
(YPT_MODE, deskey);
byte[] cipherByte = nal(input);
// if (debug ) tln ("加密後的二進串:"+byte2hex (cipherByte ));
return cipherByte;
}
public static byte[] encryptData(byte[] input) throws Exception {
return encryptData(input, DEFAULT_KEY);
}
/**
* 將給定的已加密的資料通過指定的金鑰進行解密
*
* @param input
* 待解密的資料
* @param key
* 金鑰
* @return byte[] 解密後的資料
* @throws Exception
*/
public static byte[] decryptData(byte[] input, byte[] key) throws Exception {
SecretKey deskey = new etKeySpec(key, Algorithm);
// if (debug ) tln ("解密前的資訊:"+byte2hex (input ));
Cipher c1 = nstance(Algorithm);
(YPT_MODE, deskey);
byte[] clearByte = nal(input);
// if (debug )
// {
// tln ("解密後的二進串:"+byte2hex (clearByte ));
// tln ("解密後的字串:"+(new String (clearByte )));
//
// }
return clearByte;
}
public static byte[] decryptData(byte[] input) throws Exception {
return decryptData(input, DEFAULT_KEY);
}
/**
* 位元組碼轉換成16進位制字串
*
* @param byte[] b 輸入要轉換的位元組碼
* @return String 返回轉換後的16進位制字串
*/
public static String byte2hex(byte[] bytes) {
StringBuilder hs = new StringBuilder();
for(byte b : bytes)
nd(at("%1$02X", b));
return ring();
}
public static byte[] hex2byte(String content) {
int l=th()>>1;
byte[] result=new byte[l];
for(int i=0;i
int j=i<<1;
String s=tring(j, j+2);
result[i]=eOf(s, 16)Value();
}
return result;
}
/**
* 將位元組陣列轉換為base64編碼字串
* @param buffer
* @return
*/
public static String bytesToBase64(byte[] buffer) {
相關文章
-
java非對稱加密的原始碼(rsa)
java非對稱加密的原始碼rsa有哪些基本知識,下面yjbys小編為大家一一講解!鑑於rsa加密的重要性和相關原始碼的匱乏,經過整理特此貼出。需要下載。import er;import rity.*;import ublicKeySpec;import rivateKeySpec;imp -
講解java的純數字加密解密
我們都知道,在使用者新增資訊時,一些比較敏感的資訊,如身份證號,手機號,使用者的登入密碼等資訊,是不能直接明文存進資料庫的.今天我們就以一個具體的例子來說明一下純數字的java加密解密技術.一般我們從頁面獲取到使用者添 -
關於java MD5的加密原始碼
MD5即Message-Digest Algorithm 5(資訊-摘要演算法5),用於確保資訊傳輸完整一致。是計算機廣泛使用的.雜湊演算法之一(又譯摘要演算法、雜湊演算法),主流程式語言普遍已有MD5實現。下面小編準備了關於java MD5的加密原始碼,歡迎大 -
JavaScript判斷登入介面的賬號密碼是否為空程式碼
導語:利用display的none與block判斷登入介面的賬號密碼是否為空的方法首先要定義賬號、密碼和隱藏部分的'id,即var x=lementById("id"),包括按鈕的id,然後點選登入按鈕的時候(ick=function(){具體的選擇隱藏和顯示的內容} -
在Java中執行JavaScript程式碼
我們要在Java中執行中的execute(s1,s2)方法,檔案內容如下:function execute(s1, s2){ retu s1 + s2;}首先需要定義一個介面,這個介面中給出與要執行的JavaScript方法一樣的方法簽名,我們定義介面Methods,它的內容如下:/** * -
java加密演算法是什麼
java加密,是以某種特殊的演算法改變原有的資訊資料,使得未授權的使用者即使獲得了已加密的資訊,但因不知解密的方法,仍然無法瞭解資訊的內容。今天,小編為大家搜尋整理了java加密演算法是什麼,希望大家能有所收穫,更多精彩內容請持 -
Java中4大基本加密演算法
導語:資料加密的基本過程就是對原來為明文的檔案或資料按某種演算法進行處理,使其成為不可讀的一段程式碼,通常稱為“密文”,下面是Java中4大基本加密演算法,一起來學習下吧:簡單的java加密演算法有:BASE64 嚴格地說,屬於編碼格式,而非 -
Java裝箱與拆箱詳解(附例項程式碼)
本文是本站小編搜尋整理的主要介紹Java 裝箱與拆箱詳解及例項程式碼的相關資料,對java 的裝箱及拆箱進行了基本概念詳解及簡單使用,供參考學習,希望對大家有所幫助!想了解更多相關資訊請持續關注我們應屆畢業生考試網! -
JavaScript如何把表單密碼的隱藏和顯示出來
為了網站的安全性,很多朋友都把密碼設的比較複雜,但是如何密碼不能明顯示,不知道輸的是對是錯,為了安全起見可以把密碼顯示的,那麼基於js程式碼如何實現的呢? 當用戶輸入時密碼顯示為圓點或者星號, 為了確保使用者輸入的正確, -
JAVA認證基礎知識:Java檔案解壓縮示例
Java實現壓縮檔案的解壓縮操作,缺點是壓縮檔案內不能含有檔名為中文的`的檔案,否則會出現如下錯誤:Exception in thread "main" galArgumentException: MALFORMEDat ring(Unknown Source)at LOC(Unknown Source)at ext