CryptoJS (crypto.js) fournit une variété d'algorithmes de chiffrement pour JavaScript. Les algorithmes actuellement pris en charge incluent : MD5SHA-1SHA-256AESRabbitMARC4HMACHMAC-MD5HMAC-SHA
Adresse de téléchargement spécifique : cliquez pour télécharger
Il existe principalement deux dossiers, composants et rollups
Le premier est le composant et le second est le résumé.
Les fichiers du dossier récapitulatif sont compressés après l'assemblage d'un ou plusieurs dossiers.
Cela permet l'agrégation de dossiers séparés dans vos fichiers de projet sans avoir à vous soucier de ses dépendances.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CryptoJS</title> <script src="js/CryptoJS%20v3.1.2/components/core.js"></script> <script src="js/CryptoJS%20v3.1.2/components/md5.js"></script> <script src="js/CryptoJS%20v3.1.2/components/evpkdf.js"></script> <script src="js/CryptoJS%20v3.1.2/components/enc-base64.js"></script> <script src="js/CryptoJS%20v3.1.2/components/cipher-core.js"></script> <script src="js/CryptoJS%20v3.1.2/components/aes.js"></script> <script src="js/CryptoJS%20v3.1.2/components/hmac.js"></script> <script src="js/CryptoJS%20v3.1.2/components/sha1.js"></script> <script src="js/CryptoJS%20v3.1.2/components/sha256.js"></script> </head> <body> <p id="content"></p> <script> var md5 = CryptoJS.MD5("Message").toString(CryptoJS.enc.Hex); console.log("md5 = %s", md5); var sHA1 = CryptoJS.SHA1("Message").toString(CryptoJS.enc.Hex); console.log("sHA1 = %s", sHA1); var sHA256 = CryptoJS.SHA256("Message").toString(CryptoJS.enc.Hex); console.log("sHA256 = %s", sHA256); var hmacMD5 = CryptoJS.HmacMD5("Message", "Secret Passphrase").toString(CryptoJS.enc.Hex); console.log("hmacMD5 = %s", hmacMD5); var hmacSHA1 = CryptoJS.HmacSHA1("Message", "Secret Passphrase").toString(CryptoJS.enc.Hex); console.log("hmacSHA1 = %s", hmacSHA1); var aesEncrypt = CryptoJS.AES.encrypt("Message", "Secret Passphrase"); console.log("aesEncrypt = %s", aesEncrypt.iv.toString(CryptoJS.enc.Hex)); var aesDecrypt = CryptoJS.AES.decrypt(aesEncrypt, "Secret Passphrase"); console.log("aesDecrypt = %s", aesDecrypt.toString(CryptoJS.enc.Utf8)); // base64 encrypt var rawStr = "hello world!"; var wordArray = CryptoJS.enc.Utf8.parse(rawStr); var base64 = CryptoJS.enc.Base64.stringify(wordArray); console.log('base64Encrypt = ', base64); // base64 decrypt var parsedWordArray = CryptoJS.enc.Base64.parse(base64); var parsedStr = parsedWordArray.toString(CryptoJS.enc.Utf8); console.log('base64Decrypt = ',parsedStr); </script> </body> </html>
Étant donné que Java en arrière-plan utilise le cryptage AES et utilise AES/EBC/PKCS5Padding pour l'initialisation,
1、首先var key = CryptoJS.enc.Utf8.parse(key); 2、由于后端用的PKCS5Padding,而CryptoJS类库类库中没有,但有PKCS7Padding,跟PKCS5Padding是一样的,所以加密时加上红色部分的参数即可:CryptoJS.AES.encrypt(text, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!