cryptojs php,CryptoJS简单使用方法

CryptoJS(crypto.js)为JavaScript提供了各种各样的加密算法。目前已支持的算法包括: MD5SHA-1SHA-256AESRabbitMARC4HMACHMAC-MD5HMAC-SHA

具体下载地址:点击下载

主要是两个文件夹,components和rollups

第一个是组件,第二个是汇总。

在汇总文件夹中的文件是在组件一个或多个文件夹拼接后压缩的。

这使得汇总独立的文件夹在你的项目纳入项目文件,而无需担心它的依赖。

CryptoJS

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

前端使用CryptoJS类库,进行AES加密提交到后台之后,后台解密失败,报错Given final block not properly padded经过一番搜索,终于有了解决方案!

由于后台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

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CryptoJS 是一个 JavaScript 库,用于提供各种加密和解密算法的实现。它支持常见的对称加密算法(如 AES、DES、Triple DES)和哈希算法(如 MD5、SHA-1、SHA-256),以及其他一些加密相关的功能。 要使用 CryptoJS,首先需要在你的 HTML 页面中引入 CryptoJS 的脚本文件。你可以从官方网站 (https://cryptojs.gitbook.io/docs/) 下载最新版的 CryptoJS,或者通过 CDN 引入,如下所示: ```html <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.min.js"></script> ``` 一旦脚本文件被引入,你就可以在你的 JavaScript 代码中使用 CryptoJS 提供的各种功能了。下面是一个简单的示例,演示如何使用 CryptoJS 进行 AES 加密和解密: ```javascript // 加密 var message = "Hello, World!"; var key = CryptoJS.enc.Utf8.parse('0123456789012345'); var iv = CryptoJS.enc.Utf8.parse('0123456789012345'); var encrypted = CryptoJS.AES.encrypt(message, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); var ciphertext = encrypted.ciphertext.toString(CryptoJS.enc.Base64); console.log(ciphertext); // 解密 var decrypted = CryptoJS.AES.decrypt({ ciphertext: CryptoJS.enc.Base64.parse(ciphertext) }, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); var plaintext = decrypted.toString(CryptoJS.enc.Utf8); console.log(plaintext); ``` 在上面的示例中,我们使用 AES 加密算法对消息进行加密,并使用相同的密钥和初始向量进行解密。注意,密钥和初始向量需要使用 `CryptoJS.enc.Utf8.parse` 方法进行转换。 这只是 CryptoJS 的一个简单用法示例,你可以根据需要选择其他加密算法和功能。详细的 API 文档可以在 CryptoJS 的官方网站上找到。希望这能帮助到你!如果有更多问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值