cryptojs

1.crypto 模块提供了加密功能,实现了包括对openSSl的哈希、HMAC、加密、解密、签名、以及验证功能的一整套封装
2.crypto模块的目的是为了提供通用的加密和哈希算法
安装:
引入:import CryptoJS from 'crypto-js'
使用:
md5哈希算法:CryptoJS.MD5(数据).toString()
生成随机盐值:
CryptoJS.randomBytes(32); // 32为指定位数
CryptoJS.lib.WordArray.random(128/8); //随机产生盐值
PBKDF2哈希算法:var key256Bits1000Iterations = CryptoJS.PBKDF2(word, salt, {
keySize: 256/32,
iterations: 10000,
hasher: CryptoJS.algo.SHA256
});
return key256Bits1000Iterations.toString(CryptoJS.enc.Hex);

CryptoJS加密方法

参考文献【https://www.cnblogs.com/hellofangfang/p/18304444】
MD5是一种常用的哈希算法,不可逆。用于将任意长度的消息压缩成一个128位的摘要。
SHA1是一种常用的哈希算法,用于将任意长度的消息压缩成一个160位的摘要。
SHA256是一种常用的哈希算法,用于将任意长度的消息压缩成一个256位的摘要。
SHA224是一种常用的哈希算法,用于将任意长度的消息压缩成一个224位的摘要。
SHA512是一种常用的哈希算法,用于将任意长度的消息压缩成一个512位的摘要。
SHA384是一种常用的哈希算法,用于将任意长度的消息压缩成一个384位的摘要。
SHA3是一种常用的哈希算法,用于将任意长度的消息压缩成一个固定长度的摘要,函数接受一个参数:str表示要计算摘要的字符串。
RIPEMD160是一种常用的哈希算法,用于将任意长度的消息压缩成一个160位的摘要。
HMAC是一种常用的消息认证码算法,用于验证消息的完整性和真实性。HMAC算法的全称是“基于哈希函数的消息认证码”(Hash-based Message Authentication Code),它通过在原始数据上附加一个密钥,然后对附加了密钥的数据进行哈希计算,最后将哈希值作为认证码。函数接受两个参数:key表示密钥,str表示要计算认证码的字符串。
PBKDF2是一种常用的密码加密算法,用于将用户密码转换成一个固定长度的密钥。PBKDF2算法的全称是“基于密码的密钥派生函数”(Password-Based Key Derivation Function),它通过在用户密码上附加一个随机盐值,然后对附加了盐值的密码进行多次哈希计算,最后将计算结果作为密钥。这个函数接受五个参数:password表示要转换的密码,salt表示盐值,iterations表示迭代次数,keylen表示密钥长度,digest表示哈希算法。
EvpKDF是一种常用的密码加密算法,用于将用户密码转换成一个固定长度的密钥。EvpKDF算法的全称是“基于密码的密钥派生函数”(Password-Based Key Derivation Function),它通过在用户密码上附加一个随机盐值,然后对附加了盐值的密码进行多次哈希计算,最后将计算结果作为密钥。这个函数接受五个参数:password表示要转换的密码,salt表示盐值,keylen表示密钥长度,iterations表示迭代次数,digest表示哈希算法。
AES是一种常用的对称加密算法,用于对数据进行加密和解密。AES算法的全称是“高级加密标准”(Advanced Encryption Standard),它使用固定长度的密钥对数据进行加密和解密,密钥长度可以是128位、192位或256位。
DES是一种常用的对称加密算法,用于对数据进行加密和解密。DES算法的全称是“数据加密标准”(Data Encryption Standard),它使用固定长度的密钥对数据进行加密和解密,密钥长度为64位。但是由于DES算法的密钥强度较弱,因此现在已经不再推荐使用。
TripleDES是一种常用的对称加密算法,用于对数据进行加密和解密。TripleDES算法的全称是“三重数据加密标准”(Triple Data Encryption Standard),它使用固定长度的密钥对数据进行加密和解密,密钥长度为192位。
RC4是一种常用的对称加密算法,用于对数据进行加密和解密。RC4算法的全称是“Rivest Cipher 4”,它使用一个变长的密钥对数据进行加密和解密,密钥长度可以是1到256位。
RC4Drop是一种改进的RC4算法,它通过在加密过程中丢弃一定数量的密钥流,从而提高了RC4算法的安全性。RC4Drop算法的全称是“丢弃RC4算法”(Discard RC4),它使用一个变长的密钥对数据进行加密和解密,密钥长度可以是1到256位。
Rabbit是一种常用的流密码算法,用于对数据进行加密和解密。Rabbit算法的全称是“快速安全流密码”(Fast and Secure Stream Cipher),它使用一个变长的密钥和一个变长的初始化向量对数据进行加密和解密。
RabbitLegacy是Rabbit算法的一个旧版本,它使用一个64位的初始化向量,而不是Rabbit算法的128位初始化向量。RabbitLegacy算法已经不再安全,不建议使用。

posted on 2025-06-21 17:48  羽丫头不乖  阅读(74)  评论(0)    收藏  举报