色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

js和java aes加密和解密

徐玉鳳1年前9瀏覽0評論

JS和Java都支持AES加密和解密,其中使用AES-128、AES-192和AES-256。在JS中,我們可以使用CryptoJS庫進行加密和解密操作。在Java中,可以使用javax.crypto包中的類實現AES加密和解密。

下面分別介紹JS和Java中使用AES進行加密和解密的代碼。

// JS代碼示例
// 引入CryptoJS庫
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.min.js"></script>
// 加密
var key = CryptoJS.enc.Utf8.parse("1234567890qwerty");  // 秘鑰
var iv = CryptoJS.enc.Utf8.parse("abcdef0123456789");  // 向量
var word = "Hello World!";  // 需要加密的明文
var encrypted = CryptoJS.AES.encrypt(word, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
console.log(encrypted.toString());  // 加密后的密文
// 解密
var decrypted = CryptoJS.AES.decrypt(encrypted, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
console.log(decrypted.toString(CryptoJS.enc.Utf8));  // 解密后的明文
// Java代碼示例
// 導入所需的包
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.util.Base64;
// 加密
String key = "1234567890qwerty";  // 秘鑰
String iv = "abcdef0123456789";  // 向量
String word = "Hello World!";  // 需要加密的明文
SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, new IvParameterSpec(iv.getBytes("UTF-8")));
byte[] encrypted = cipher.doFinal(word.getBytes("UTF-8"));
System.out.println(Base64.getEncoder().encodeToString(encrypted));  // 加密后的密文
// 解密
byte[] encryptedBytes = Base64.getDecoder().decode("h8x/Cd/xBuz/H6T1WzS/wg==");  // 密文
cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, new IvParameterSpec(iv.getBytes("UTF-8")));
byte[] decrypted = cipher.doFinal(encryptedBytes);
System.out.println(new String(decrypted, "UTF-8"));  // 解密后的明文

以上是JS和Java中使用AES進行加密和解密的代碼示例。