在現代互聯網時代,數據安全無疑是一項重要的任務,因為在不斷增長數據存儲和傳輸的過程中,黑客和惡意軟件也在不斷涌現。AES即為一種可以有效保護數據安全的加密算法。現在,我們將通過JavaScript和Java兩個語言來實現AES加密。
在JavaScript中,可以使用CryptoJS庫實現AES加密。以下是一個使用CryptoJS庫進行AES加密和解密的JavaScript代碼示例:
// 引入CryptoJS庫 var CryptoJS = require("crypto-js"); // 加密函數 function encryptAES(data, key) { var encrypted = CryptoJS.AES.encrypt(data, key); return encrypted.toString(); } // 解密函數 function decryptAES(encryptedText, key) { var decrypted = CryptoJS.AES.decrypt(encryptedText, key); return decrypted.toString(CryptoJS.enc.Utf8); } // 使用示例 var data = "Hello World!"; var key = "MySecretKey"; var encryptedText = encryptAES(data, key); console.log(encryptedText); var decryptedText = decryptAES(encryptedText, key); console.log(decryptedText);
在Java中,可以使用javax.crypto庫實現AES加密。以下是一個使用javax.crypto庫進行AES加密和解密的Java代碼示例:
import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import java.util.Base64; // AES加密函數 public static String encryptAES(String data, String key) throws Exception { SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec); byte[] encrypted = cipher.doFinal(data.getBytes()); return Base64.getEncoder().encodeToString(encrypted); } // AES解密函數 public static String decryptAES(String encryptedText, String key) throws Exception { SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, secretKeySpec); byte[] decrypted = cipher.doFinal(Base64.getDecoder().decode(encryptedText)); return new String(decrypted); } // 使用示例 String data = "Hello World!"; String key = "MySecretKey"; String encryptedText = encryptAES(data, key); System.out.println(encryptedText); String decryptedText = decryptAES(encryptedText, key); System.out.println(decryptedText);
總之,AES加密算法是一種非常有效的保護數據安全的方法。JavaScript和Java都支持AES加密,開發人員可以根據具體的需求,選擇適合自己的語言和庫來實現數據加密。