Java實現AES的ECB CBC CFB模式

2021-09-02 22:45:27 字數 1495 閱讀 8836

public class aes 

key = ge***5(key);

byte raw = key.getbytes("utf-8");

secretkeyspec skeyspec = new secretkeyspec(raw, "aes");

cipher cipher = cipher.getinstance("aes/"+encryptmode+"/pkcs5padding");

if(encryptmode=="ecb") else

byte encrypted = cipher.dofinal(plaintext.getbytes("utf-8"));

string encryptedstr=new string(new base64encoder().encode(encrypted));

return encryptedstr;

//return new string(encrypted);//此處使用base64做轉碼功能,同時能起到2次加密的作用。

} catch (exception ex)

}/**

* aes解密

** @param cipertext 密文

* @param key 金鑰

* @param encryptmode aes加密模式,cbc或ecb

* @return 該密文的明文

*/public static string aes_decrypt(object cipertext, string key,string encryptmode)

key=ge***5(key);

byte raw = key.getbytes("utf-8");

secretkeyspec skeyspec = new secretkeyspec(raw, "aes");

cipher cipher=cipher.getinstance("aes/"+encryptmode+"/pkcs5padding");

if(encryptmode=="ecb")

else

byte encrypted1 = new base64decoder().decodebuffer(ciphertext);//先用base64解密

//byte encrypted1 = ciphertext.getbytes();

try catch (exception e)

} catch (exception ex)

}/**

* 進行md5加密

** @param s 要進行md5轉換的字串

* @return 該字串的md5值的8-24位

*/public static string ge***5(string s);

try

return new string(str).substring(8,24);

} catch (exception e)

}}

java實現AES演算法

private static final int bit 128 public static void main string args catch transformerexception e system.out.println time system.nanotime start 1000 1...

AES加密 JAVA實現

aes是常用的對稱加密技術,比des有更高的安全性。在寫cp abe系統的時間使用aes加密密文檔案,abe加密了乙個element jpbc庫 屬於常見的加密體制。下面 的aes,乙個是以檔案流的形式加密檔案,乙個是直接加密字串 public class aes destfile.createne...

AES對稱加密解密JAVA實現

話不多說,直接上 public class aesutil catch exception e 如果有錯就返加nulll return null 解密 解密過程 1.同加密1 4步 2.將加密後的字串反紡成byte陣列 3.將加密內容解密 public static string decode st...