aes加密解密方法
/**
* 加密方法
*@param data 要加密的資料
*@param key 加密key
*@param iv 加密iv
*@return 加密的結果
*@throws exception
*/public
static string aesencode(string data, string key, string iv,string type) throws exception
//根據指定的"演算法/模式/補碼方式",獲取密碼器
cipher cipher = cipher.getinstance(type);//"演算法/模式/補碼方式"
int blocksize = cipher.getblocksize();
byte databytes = data.getbytes();
int plaintextlength = databytes.length;
if (plaintextlength % blocksize != 0)
byte plaintext = new
byte[plaintextlength];
system.arraycopy(databytes, 0, plaintext, 0, databytes.length);
secretkeyspec keyspec = new secretkeyspec(key.getbytes(), "aes");
ivparameterspec ivspec = new ivparameterspec(iv.getbytes());
cipher.init(cipher.encrypt_mode, keyspec, ivspec);
byte encrypted = cipher.dofinal(plaintext);
system.out.println("databytes : "+bytestring.of(databytes).hex());
system.out.println("plaintext : "+bytestring.of(plaintext).hex());
system.out.println("encrypted : "+bytestring.of(encrypted).hex());
return
new string(base64.encode(encrypted));
} catch (exception e)
}/**
* 解密方法
*@param data 要解密的資料
*@param key 解密key
*@param iv 解密iv
*@return 解密的結果
*@throws exception
*/public
static string aesdecode(string data, string key, string iv ,string type) throws exception
byte encrypted1 = new base64().decode(data);
cipher cipher = cipher.getinstance(type);
secretkeyspec keyspec = new secretkeyspec(key.getbytes(), "aes");
ivparameterspec ivspec = new ivparameterspec(iv.getbytes());
cipher.init(cipher.decrypt_mode, keyspec, ivspec);
byte original = cipher.dofinal(encrypted1);
string originalstring = new string(original);
return originalstring;
} catch (exception e)
}
Aes加密解密
加密時 先對string進行utf8解析成陣列 對陣列進行加密 對加密結果用base64解析成string。那麼揭秘時,對字串的解析方式是必須要 倒 過來的,就成這樣子了 解密時 先對string進行base64解析成陣列 對陣列進行解密 對解密結果用utf8解析成string using syst...
AES加密解密詳解
一 什麼是aes?高階加密標準 英語 advanced encryption standard,縮寫 aes 是一種區塊加密標準。這個標準用來替代原先的des,已經被多方分析且廣為全世界所使用。那麼為什麼原來的des會被取代呢,原因就在於其使用56位金鑰,比較容易被破解。而aes可以使用128 19...
C 加密解密 AES
using system namespace encrypt aes解密 需要解密字串 解密後字串 public static string decrypt string str aes加密 需要加密的字串 32位金鑰 加密後的字串 public static string encrypt stri...