JavaScript和Java都可以用來實現加密解密的功能,下面就分別為大家介紹一下。
JavaScript實現加密解密
Javascript中的加密方法主要有兩種,分別是base64加密和md5加密。
//使用base64加密 var base64Result = btoa("hello world"); //使用md5加密 var md5Result = CryptoJS.MD5("hello world").toString();
解密方式與加密方式相對應,分別是base64解密和md5解密。
//使用base64解密 var base64Result = atob("aGVsbG8gd29ybGQ="); //使用md5解密 var md5Result = "無法解密";
Java實現加密解密
Java中實現加密解密功能需要用到Java的加密解密庫,主要有JCE和BC兩個庫。
JCE庫中包含了常見的加密解密算法和哈希算法,可以滿足大多數需求。
//使用JCE庫中的AES加密 KeyGenerator keyGenerator = KeyGenerator.getInstance("AES"); keyGenerator.init(256); SecretKey secretKey = keyGenerator.generateKey(); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, secretKey); byte[] result = cipher.doFinal("hello world".getBytes()); //使用JCE庫中的AES解密 cipher.init(Cipher.DECRYPT_MODE, secretKey); byte[] decryptResult = cipher.doFinal(result); String decryptedString = new String(decryptResult);
如果需要使用到更高級的加密算法,BC庫就可以派上用場了。BC庫中支持的算法種類更多,例如RSA、DSA、SM2等算法。
//使用BC庫中的RSA加密 Security.addProvider(new BouncyCastleProvider()); Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding", "BC"); cipher.init(Cipher.ENCRYPT_MODE, publicKey); byte[] result = cipher.doFinal("hello world".getBytes()); //使用BC庫中的RSA解密 cipher.init(Cipher.DECRYPT_MODE, privateKey); byte[] decryptResult = cipher.doFinal(result); String decryptedString = new String(decryptResult);
以上就是JavaScript和Java中實現加密解密的方法,可以根據具體需求選擇使用哪種加密算法和哪個庫。