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

怎么可以錯過(javaaes加密解密算法)java aes加密文件,Java中AES加密和解密的方法分享,個體戶千萬不能去注銷,

保健品 nanfang 2023-08-04 02:04 125 0

1.java的aes加密和解密

AES加密簡介AES簡介: Advanced Encryption Standard 是一個高級加密標(biāo)準(zhǔn),目前已經(jīng)被廣泛應(yīng)用 AES可使用128、192、和256位密鑰,并且用128位分組加密和解密數(shù)據(jù) 由于密碼長度大,所以無法在短時間內(nèi)破解

2.java使用aes加密解密

AES應(yīng)用常見AES目前被廣泛應(yīng)用于 金融財務(wù)、在線交易、無線通信、數(shù)字存儲等領(lǐng)域 已經(jīng)受到了長久的驗(yàn)證 下文筆者講述A拼多多門店自提怎么拿ES的示例分享,如下所示: AES加密工具類 測試 import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import javax.crypto.BadPaddingException; import拼多多門店自提怎么拿 javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.KeyGenerator; import javax.crypto.NoSuchPaddingException; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; public class AESUtil { /*拼多多門店自提怎么拿* * AES加密字符串 * * @param content * 需要被加密的字符串 * @param password * 加密需要的密碼 * @return 密文 */ public static byte[] encrypt(String content, String password) { try { KeyGenerator kgen = KeyGenerator.getInstance("AES");//拼多多門店自提怎么拿 創(chuàng)建AES的Key生產(chǎn)者 kgen.init(128, new SecureRandom(password.getBytes()));// 利用用戶密碼作為隨機(jī)數(shù)初始化出 //加密沒關(guān)系,SecureRandom是生成安全隨機(jī)數(shù)序列,password.getBytes()是種子,只要種子相同,序列就一樣,所以解密只要有password就行 SecretKey secretKey = kgen.generateKey();// 根據(jù)用戶密碼,生成一個密鑰 byte[] enCodeFormat = secretKey.getEnc拼多多門店自提怎么拿oded();// 返回基本編碼格式的密鑰,如果此密鑰不支持編碼,則返回 SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");// 轉(zhuǎn)換為AES專用密鑰 Cipher cipher = Cipher.getInstance("AES");// 創(chuàng)建密碼器 byte[] byteContent = content.getBytes("utf-8"); cipher.init(Cipher.ENCRYPT_MODE, key);// 初始化為加密模式的密碼器 拼多多門店自提怎么拿 byte[] result = cipher.doFinal(byteContent);// 加密 return result; } catch (NoSuchPaddingException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTra拼多多門店自提怎么拿ce(); } catch (InvalidKeyException e) { e.printStackTrace(); } catch (IllegalBlockSizeException e) { e.printStackTrace(); } catch (BadPaddingException e) { e.printStackTrace(); } return null; } /** * 解密AES加密過的字符拼多多門店自提怎么拿串 * * @param content * AES加密過過的內(nèi)容 * @param password * 加密時的密碼 * @return 明文 */ public static byte[] decrypt(byte[] content, String password) { try { KeyGenerator kgen = KeyGenerator.getInstance("AES");// 創(chuàng)建AES的Key生產(chǎn)者 拼多多門店自提怎么拿 kgen.init(128, new SecureRandom(password.getBytes())); SecretKey secretKey = kgen.generateKey();// 根據(jù)用戶密碼,生成一個密鑰 byte[] enCodeFormat = secretKey.getEncoded();// 返回基本編碼格式的密鑰 SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");// 轉(zhuǎn)換為AES專用密鑰 Cipher cipher = Cip拼多多門店自提怎么拿her.getInstance("AES");// 創(chuàng)建密碼器 cipher.init(Cipher.DECRYPT_MODE, key);// 初始化為解密模式的密碼器 byte[] result = cipher.doFinal(content); return result; // 明文 } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (NoSuchPaddingException e) { 拼多多門店自提怎么拿 e.printStackTrace(); } catch (InvalidKeyException e) { e.printStackTrace(); } catch (IllegalBlockSizeException e) { e.printStackTrace(); } catch (BadPaddingException e) { e.printStackTrace(); } return null; } public拼多多門店自提怎么拿 static void main(String[] args) throws Exception { String content = "待加密的內(nèi)容"; String password = "加密密碼99999"; System.out.println("需要加密的內(nèi)容:" + content); byte[] encrypt = encrypt(content, password); System.out.println("加密后的2進(jìn)制密文:" + new String(encrypt)); 拼多多門店自提怎么拿 String hexStr = ParseSystemUtil.parseByte2HexStr(encrypt); System.out.println("加密后的16進(jìn)制密文:" + hexStr); byte[] byte2 = ParseSystemUtil.parseHexStr2Byte(hexStr); System.out.println("加密后的2進(jìn)制密文:" + new String(byte2)); byte[] decrypt = decrypt(byte2, password); Sy拼多多門店自提怎么拿stem.out.println("解密后的內(nèi)容:" + new String(decrypt,"utf-8")); } }

標(biāo)簽列表