>  기사  >  웹 프론트엔드  >  CryptoJS를 사용하는 간단한 방법

CryptoJS를 사용하는 간단한 방법

一个新手
一个新手원래의
2017-09-25 10:21:157512검색

CryptoJS(crypto.js)는 JavaScript를 위한 다양한 암호화 알고리즘을 제공합니다. 현재 지원되는 알고리즘은 다음과 같습니다: MD5SHA-1SHA-256AESRabbitMARC4HMACHMAC-MD5HMAC-SHA

특정 다운로드 주소: 다운로드하려면 클릭하세요

주로 두 개의 폴더, 구성 요소와 롤업이 있습니다

첫 번째는 구성 요소이고 두 번째는 요약입니다.

요약 폴더의 파일은 하나 이상의 폴더를 조립한 후 압축됩니다.

이를 통해 종속성을 걱정할 필요 없이 별도의 폴더를 프로젝트 파일로 집계할 수 있습니다.

<!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(&#39;base64Encrypt = &#39;, base64);

        // base64 decrypt
        var parsedWordArray = CryptoJS.enc.Base64.parse(base64);
        var parsedStr = parsedWordArray.toString(CryptoJS.enc.Utf8);
        console.log(&#39;base64Decrypt = &#39;,parsedStr);
    </script>
</body>
</html>

프런트 엔드는 CryptoJS 클래스 라이브러리를 사용합니다. AES 암호화가 백엔드에 제출된 후 백엔드 암호 해독이 실패하고 오류가 보고됩니다.최종 블록이 제대로 채워지지 않았습니다몇 가지 검색을 한 후 마침내 해결책!

백그라운드 Java는 AES 암호화를 사용하고 초기화를 위해 AES/EBC/PKCS5Padding을 사용하므로

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
});

위 내용은 CryptoJS를 사용하는 간단한 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.