JS AES與Java AES加密解密是一種常見的數(shù)據(jù)安全手段。JS AES加密解密采用JavaScript語(yǔ)言,Java AES加密解密則使用Java語(yǔ)言實(shí)現(xiàn)。下面我們將詳細(xì)介紹這兩種加密解密方式。
JS AES加密解密: //加密 function aesEncrypt(data, key) { var key = CryptoJS.enc.Utf8.parse(key); var encrypted = CryptoJS.AES.encrypt(data, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString(); } //解密 function aesDecrypt(data, key) { var key = CryptoJS.enc.Utf8.parse(key); var decrypted = CryptoJS.AES.decrypt(data, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); return CryptoJS.enc.Utf8.stringify(decrypted).toString(); } Java AES加密解密: //加密 public static String aesEncrypt(String data, String key) throws Exception { SecretKeySpec keySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, keySpec); byte[] encryptedBytes = cipher.doFinal(data.getBytes("UTF-8")); return Base64.getEncoder().encodeToString(encryptedBytes); } //解密 public static String aesDecrypt(String data, String key) throws Exception { SecretKeySpec keySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, keySpec); byte[] encryptedBytes = Base64.getDecoder().decode(data); byte[] decryptedBytes = cipher.doFinal(encryptedBytes); return new String(decryptedBytes, "UTF-8"); }
以上代碼分別是JS和Java實(shí)現(xiàn)AES加密解密的代碼,其中key是加密解密的密鑰,data是要加密解密的數(shù)據(jù)。我們可以看到,JS AES加密解密使用了CryptoJS庫(kù),Java AES加密解密則使用了Java內(nèi)置的Cipher類。
總的來(lái)說(shuō),JS AES與Java AES加密解密都是可行且安全的方法,我們可以根據(jù)具體需求選擇使用其中一種實(shí)現(xiàn)加密解密。在實(shí)際應(yīng)用中,我們還需要考慮到數(shù)據(jù)安全問(wèn)題,并采取相應(yīng)的措施保障數(shù)據(jù)安全。
下一篇css文字在圖片居中