想加密JavaScript怎么办,试试这款加密库!

想加密JavaScript怎么办,试试这款加密库!
最新回答
狙击甜心

2021-09-07 06:22:33

可以使用crypto-js库对JavaScript进行加密,它是一个前端JavaScript标准加密算法库,支持多种加密算法,包括MD5、SHA系列、AES等,适用于Node.js和浏览器环境。

  • 支持的加密算法

    哈希算法:MD5、SHA-1、SHA-256等,用于生成数据的摘要或校验和。

    对称加密:AES、Rabbit、MARC4,用于对数据进行加密和解密。

    消息认证码(MAC):HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256,用于验证数据的完整性和真实性。

    密钥派生函数:PBKDF2,用于从密码生成加密密钥。

  • 安装方法

    使用npm安装crypto-js:

    npm install crypto-js
  • 使用方式

    ES6模块导入

    import sha256 from 'crypto-js/sha256';import hmacSHA512 from 'crypto-js/hmac-sha512';import Base64 from 'crypto-js/enc-base64';const message = 'Hello, world!';const nonce = 'random-nonce';const path = '/api/data';const privateKey = 'your-private-key';const hashDigest = sha256(nonce + message);const hmacDigest = Base64.stringify(hmacSHA512(path + hashDigest, privateKey));

    CommonJS模块导入

    var AES = require('crypto-js/aes');var SHA256 = require('crypto-js/sha256');console.log(SHA256('Message').toString());

    直接通过<script>标签引入

    <script type="text/javascript" src="path-to/bower_components/crypto-js/crypto-js.js"></script><script type="text/javascript"> var encrypted = CryptoJS.AES.encrypt('my message', 'secret key 123').toString(); var decrypted = CryptoJS.AES.decrypt(encrypted, 'secret key 123'); var originalText = decrypted.toString(CryptoJS.enc.Utf8);</script>
  • AES加密示例

    明文加密与解密

    var CryptoJS = require('crypto-js');// 加密var ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123').toString();// 解密var bytes = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');var originalText = bytes.toString(CryptoJS.enc.Utf8);console.log(originalText); // 输出: 'my message'

    对象加密与解密

    var CryptoJS = require('crypto-js');var data = [{ id: 1 }, { id: 2 }];// 加密var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), 'secret key 123').toString();// 解密var bytes = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');var decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));console.log(decryptedData); // 输出: [{ id: 1 }, { id: 2 }]
  • 在线测试工具

    可通过在线工具测试加密效果:

    在线加密测试