亚洲欧美日韩国产成人|亚洲中文字幕无码中字|HEYZO在线无码综合|久久久不卡精品国产一区二|久久精品亚洲无中文东京热|中文字幕乱码一区三区免费|亚洲国产欧美在线观看片不卡|国产精品久久一区二区三区97

墻裂推薦(java rsa密鑰生成)java ase加解密,java如何使用AES做加密解密,區(qū)塊鏈dao是什么意思,

保健品 nanfang 2023-08-04 02:07 124 0

1.java中aes加密解密

1、什么是AES?Advanced Encryption Standard(縮寫:AES)是一種區(qū)塊加密標(biāo)準(zhǔn)這個(gè)標(biāo)準(zhǔn)用來替代原先的DES,已經(jīng)在全世界被廣泛使用那么為什么原來的DES會(huì)被取代呢?原因就在于其使用56位密鑰,比較容易被破解。

2.java實(shí)現(xiàn)aes加解密

而AES可以使用128、192、和256位密鑰,相對(duì)來說安全很多完善的加密算法在理論上是無法破解的,除非使用窮盡法使用窮盡法破解密鑰長度在128位以上的加密數(shù)據(jù)是不現(xiàn)實(shí)的,僅存在理論上的可校園啊…嗯啊好深bl肉能性統(tǒng)計(jì)顯示,即使使用目前世界上運(yùn)算速度最快的計(jì)算機(jī),窮盡128位密鑰也要花上幾十億年的時(shí)間,更不用說去破解采用256位密鑰長度的AES算法了。

3.java實(shí)現(xiàn)rsa加密解密

2、AES加密解密如何使用?廢話不多說,直接上代碼:import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import java.security.S校園啊…嗯啊好深bl肉ecureRandom; import static sun.security.x509.CertificateAlgorithmId.ALGORITHM; /** * @author xnn * @date 2021-09-28 17:09 */ public class AESUtils { private static final String KEY_ALGORITHM = "AES"; //默認(rèn)的加密算法 private static f校園啊…嗯啊好深bl肉inal String DEFAULT_CIPHER_ALGORITHM = "AES/ECB/PKCS5Padding"; /** * 生成密鑰對(duì)象 */ private static SecretKey generateKey(byte[] key) throws Exception { // 指定的RNG算法名稱, 創(chuàng)建安全隨機(jī)數(shù)生成器 SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); //設(shè)置加密用的種子,校園啊…嗯啊好深bl肉密鑰 random.setSeed(key); // 創(chuàng)建AES算法生成器 KeyGenerator gen = KeyGenerator.getInstance(KEY_ALGORITHM); // 初始化算法生成器 gen.init(128, random); // 生成 AES密鑰對(duì)象 return gen.generateKey(); // 也可以直接創(chuàng)建密鑰對(duì)象: return new SecretKeySpec(key, ALGORITHM); 校園啊…嗯啊好深bl肉 // return new SecretKeySpec(key, ALGORITHM); } /** * 數(shù)據(jù)加密 */ public static byte[] encrypt(byte[] plainBytes, byte[] key) throws Exception { // 生成密鑰對(duì)象 SecretKey secKey = generateKey(key); // 獲取AES密碼器 Cipher cipher = Cipher.ge校園啊…嗯啊好深bl肉tInstance(DEFAULT_CIPHER_ALGORITHM); // 初始化密碼器(ENCRYPT_MODE表示加密模型) cipher.init(Cipher.ENCRYPT_MODE, secKey); // 加密數(shù)據(jù), 返回密文 return cipher.doFinal(plainBytes); } /** * 數(shù)據(jù)解密 */ public static byte[] decrypt(byte[] cipherBytes, byte校園啊…嗯啊好深bl肉[] key) throws Exception { SecretKey secKey = generateKey(key); Cipher cipher = Cipher.getInstance(DEFAULT_CIPHER_ALGORITHM); // 初始化密碼器(DECRYPT_MODE表示解密模型) cipher.init(Cipher.DECRYPT_MODE, secKey); // 解密數(shù)據(jù), 返回明文 return cipher.doFinal(cipherBytes); 校園啊…嗯啊好深bl肉 } public static void main(String[] args) throws Exception { String content = "hello AES!"; String key = "AES"; // 加密 byte[] cipherBytes = AESUtils.encrypt(content.getBytes(), key.getBytes()); // 解密 byte[] plainBytes = AESUtils.decrypt(ciph校園啊…嗯啊好深bl肉erBytes, key.getBytes()); System.out.println(new String(plainBytes)); } }

4.java中rsa加解密

以上就是AES的簡單使用方法,基本上適用于大部分場景,工具直接搬過去就可以用。希望對(duì)大家有所幫助。

標(biāo)簽列表