crypto.web.js

1.0.7 • Public • Published

crypto.js浏览器版本,提供常用的加密封装

English Readme

感谢下面的开源库:

  1. spark-md5, 这个经本人测试, 确实是纯js版中性能最高的一个, 本仓库引入进来, 调整为ESM方式使用。

以上这个库, 在index.js中有引入。对体积有要求的, 可以单独使用。

// 多合一
import { sha1, hmac, md5, base64encode } from '//jscdn.ink/crypto.web.js/latest/index.js'  // 大陆用户可使用此加速地址

import { md5, md5Sum } from '//jscdn.ink/crypto.web.js/latest/md5.js'

import { base64encode, base64decode } from '//jscdn.ink/crypto.web.js/latest/base64.js'

APIs

1. md5(str<String>|<Number>)

常规的md5函数, 可对字符串(数字类型也可以), 进行加密。如果要对一个超级大的文本进行md5求值的话, 建议改成下面的 md5Sum()

2. md5Sum(ab<ArrayBuffer>)

该方法可用于对文件求md5值, 需传入ArrayBuffer对象, 可用 FileReader得到arraybuffer值, 新浏览器的Blob对象,也有个arraybuffer原型方法。

3. base64encode(str<String>)

base64编码, 支持中文。

4. base64decode(str<String>)

base64解码。

5. uuid()

生成一个唯一的24位的随机字符串。 只保证单机唯一。

6. ab2hex(ab<ArrayBuffer>)

将一个arraybuffer对象, 转为 十六进制字符串。

7. ab2bin(ab<ArrayBuffer>)

将一个arraybuffer对象, 转为 Binary字符串。

8. sha1(str<String>)

对指定字符串求 sha1值。

注意: 该方法返回的不是字符串, 而是一个Promise对象。

9. sha256(str<String>)

对指定字符串求 sha256值。

注意: 该方法返回的不是字符串, 而是一个Promise对象。

10. sha512(str<String>)

对指定字符串求 sha512值。

注意: 该方法返回的不是字符串, 而是一个Promise对象。

11. hash(algorithm<String>, data<String>|<ArrayBuffer>|<Uint8Array>)

散列算法(也称为哈希算法),用来实现一些重要数据的模糊处理,以达到隐藏明文的目的。 上面的sha1、sha256等,其实就是基于这个再次封装的结果; algorithm,可选值有: SHA-1, SHA-256, SHA-384, SHA-512。

注意: 该方法返回的不是字符串, 而是一个Promise对象。

12. hmac(algorithm<String>, data<String>|<ArrayBuffer>|<Uint8Array>, key<String>|<Uint8Array>, outEncode<String>)

HMAC算法,是在散列算法的基础上,与一个密钥结合在一起,以阻止对签名完整性的破坏。 与上面的散列算法相比,多了一个密钥的参数key。

注意: 该方法返回的不是字符串, 而是一个Promise对象。

Package Sidebar

Install

npm i crypto.web.js

Weekly Downloads

96

Version

1.0.7

License

MIT

Unpacked Size

23.8 kB

Total Files

6

Last publish

Collaborators

  • yutent