# @exodus/js-sha3 中文文档

规范地址：https://npmcn.com/package/%40exodus/js-sha3/

版本：0\.6\.1-exodus1
npm 元数据更新时间：2026-10-06T21:00:44.872Z
中文译文更新时间：2026-11-14T07:18:17.338Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40exodus/js-sha3
原文对照：https://npmcn.com/package/%40exodus/js-sha3/?lang=original
项目主页：https://github.com/ExodusMovement/js-sha3
源码仓库：https://github.com/ExodusMovement/js-sha3

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：32.8 kB，5 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2020-01-06T20:55:28.519Z
- 最新版本发布：2020-01-06T22:08:26.898Z
- 近 30 天下载量：2138（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 0 个）

## 中文简介

一个简单的SHA-3 / Keccak / Shake hash 函数用于JavaScript支持UTF-8编码.

## 安装

```sh
npm install @exodus/js-sha3
```

也可以使用：`pnpm add @exodus/js-sha3`、`yarn add @exodus/js-sha3`、`bun add @exodus/js-sha3`

## README

# js-sha3 (韩语)

[![Build Status](https://travis-ci.org/emn178/js-sha3.svg?branch=master)](https://travis-ci.org/emn178/js-sha3) [![Coverage Status](https://coveralls.io/repos/emn178/js-sha3/badge.svg?branch=master)](https://coveralls.io/r/emn178/js-sha3?branch=master)  
[![NPM](https://nodei.co/npm/js-sha3.png?stars&downloads)](https://nodei.co/npm/js-sha3/)

一个简单的SHA-3 / Keccak / Shake hash 函数用于JavaScript支持UTF-8编码.

## 通知

-   Sha3方法自v.2.0起被更名为keccak. 指活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活.
-   `buffer` 方法被贬值。 这也许和节点的Buffer混淆了 请使用 `arrayBuffer` 换句话说.

## 演示

[SHA3-512 在线](http://emn178.github.io/online-tools/sha3_512.html)  
[SHA3-384 在线](http://emn178.github.io/online-tools/sha3_384.html)  
[SHA3-256 在线](http://emn178.github.io/online-tools/sha3_256.html)  
[SHA3-224 在线](http://emn178.github.io/online-tools/sha3_224.html)  
[Keccak-512 在线](http://emn178.github.io/online-tools/keccak_512.html)  
[Keccak-384 在线](http://emn178.github.io/online-tools/keccak_384.html)  
[Keccak-256 在线](http://emn178.github.io/online-tools/keccak_256.html)  
[Keccak-224 在线](http://emn178.github.io/online-tools/keccak_224.html)  
[Shake128 在线](http://emn178.github.io/online-tools/shake_128.html)  
[Shake256 在线](http://emn178.github.io/online-tools/shake_256.html)

## 下载

[压缩](https://raw.github.com/emn178/js-sha3/master/build/sha3.min.js)  
[未压缩](https://raw.github.com/emn178/js-sha3/master/src/sha3.js)

## 安装

也可以通过使用Bower安装js-sha3.

```
bower install js-sha3
```

对于节点.js,可以使用此命令来安装:

```
npm install js-sha3
```

## 使用量

你可以用这样:

```JavaScript
sha3_512('Message to hash');
sha3_384('Message to hash');
sha3_256('Message to hash');
sha3_224('Message to hash');
keccak512('Message to hash');
keccak384('Message to hash');
keccak256('Message to hash');
keccak224('Message to hash');
shake128('Message to hash', 256);
shake256('Message to hash', 512);
cshake128('Message to hash', 256, 'function name', 'customization');
cshake256('Message to hash', 512, 'function name', 'customization');
kmac128('key', 'Message to hash', 256, 'customization');
kmac256('key', 'Message to hash', 512, 'customization');

// Support ArrayBuffer output
var buffer = keccak224.buffer('Message to hash');

// Support Array output
var buffer = keccak224.array('Message to hash');

// update hash
sha3_512.update('Message ').update('to ').update('hash').hex();
// specify shake output bits at first update
shake128.update('Message ', 256).update('to ').update('hash').hex();

// or to use create
var hash = sha3_512.create();
hash.update('...');
hash.update('...');
hash.hex();

// specify shake output bits when creating
var hash = shake128.create(256);
hash.update('...');
hash.update('...');
hash.hex();

// specify cshake output bits, function name and customization when creating
var hash = cshake128.create(256, 'function name', 'customization');

// specify kmac key, output bits and customization when creating
var hash = kmac128.create('key', 256, 'customization');
```

如果您使用节点.js,您应当首先要求模块:

```JavaScript
sha3_512 = require('js-sha3').sha3_512;
sha3_384 = require('js-sha3').sha3_384;
sha3_256 = require('js-sha3').sha3_256;
sha3_224 = require('js-sha3').sha3_224;
keccak512 = require('js-sha3').keccak512;
keccak384 = require('js-sha3').keccak384;
keccak256 = require('js-sha3').keccak256;
keccak224 = require('js-sha3').keccak224;
shake128 = require('js-sha3').shake128;
shake256 = require('js-sha3').shake256;
cshake128 = require('js-sha3').cshake128;
cshake256 = require('js-sha3').cshake256;
kmac128 = require('js-sha3').kmac128;
kmac256 = require('js-sha3').kmac256;
```

如果您使用 TypeScript, 您可以像这样导入 :

```TypeScript
import { sha3_512 } from 'js-sha3';
```

## 示例

代码

```JavaScript
sha3_512('');
// a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26

sha3_512('The quick brown fox jumps over the lazy dog');
// 01dedd5de4ef14642445ba5f5b97c15e47b9ad931326e4b0727cd94cefc44fff23f07bf543139939b49128caf436dc1bdee54fcb24023a08d9403f9b4bf0d450

sha3_512('The quick brown fox jumps over the lazy dog.');
// 18f4f4bd419603f95538837003d9d254c26c23765565162247483f65c50303597bc9ce4d289f21d1c2f1f458828e33dc442100331b35e7eb031b5d38ba6460f8

sha3_384('');
// 0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004

sha3_384('The quick brown fox jumps over the lazy dog');
// 7063465e08a93bce31cd89d2e3ca8f602498696e253592ed26f07bf7e703cf328581e1471a7ba7ab119b1a9ebdf8be41

sha3_384('The quick brown fox jumps over the lazy dog.');
// 1a34d81695b622df178bc74df7124fe12fac0f64ba5250b78b99c1273d4b080168e10652894ecad5f1f4d5b965437fb9

sha3_256('');
// a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a

sha3_256('The quick brown fox jumps over the lazy dog');
// 69070dda01975c8c120c3aada1b282394e7f032fa9cf32f4cb2259a0897dfc04

sha3_256('The quick brown fox jumps over the lazy dog.');
// a80f839cd4f83f6c3dafc87feae470045e4eb0d366397d5c6ce34ba1739f734d

sha3_224('');
// 6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7

sha3_224('The quick brown fox jumps over the lazy dog');
// d15dadceaa4d5d7bb3b48f446421d542e08ad8887305e28d58335795

sha3_224('The quick brown fox jumps over the lazy dog.');
// 2d0708903833afabdd232a20201176e8b58c5be8a6fe74265ac54db0

keccak512('');
// 0eab42de4c3ceb9235fc91acffe746b29c29a8c366b7c60e4e67c466f36a4304c00fa9caf9d87976ba469bcbe06713b435f091ef2769fb160cdab33d3670680e

keccak512('The quick brown fox jumps over the lazy dog');
// d135bb84d0439dbac432247ee573a23ea7d3c9deb2a968eb31d47c4fb45f1ef4422d6c531b5b9bd6f449ebcc449ea94d0a8f05f62130fda612da53c79659f609

keccak512('The quick brown fox jumps over the lazy dog.');
// ab7192d2b11f51c7dd744e7b3441febf397ca07bf812cceae122ca4ded6387889064f8db9230f173f6d1ab6e24b6e50f065b039f799f5592360a6558eb52d760

keccak384('');
// 2c23146a63a29acf99e73b88f8c24eaa7dc60aa771780ccc006afbfa8fe2479b2dd2b21362337441ac12b515911957ff

keccak384('The quick brown fox jumps over the lazy dog');
// 283990fa9d5fb731d786c5bbee94ea4db4910f18c62c03d173fc0a5e494422e8a0b3da7574dae7fa0baf005e504063b3

keccak384('The quick brown fox jumps over the lazy dog.');
// 9ad8e17325408eddb6edee6147f13856ad819bb7532668b605a24a2d958f88bd5c169e56dc4b2f89ffd325f6006d820b

keccak256('');
// c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470

keccak256('The quick brown fox jumps over the lazy dog');
// 4d741b6f1eb29cb2a9b9911c82f56fa8d73b04959d3d9d222895df6c0b28aa15

keccak256('The quick brown fox jumps over the lazy dog.');
// 578951e24efd62a3d63a86f7cd19aaa53c898fe287d2552133220370240b572d

keccak224('');
// f71837502ba8e10837bdd8d365adb85591895602fc552b48b7390abd

keccak224('The quick brown fox jumps over the lazy dog');
// 310aee6b30c47350576ac2873fa89fd190cdc488442f3ef654cf23fe

keccak224('The quick brown fox jumps over the lazy dog.');
// c59d4eaeac728671c635ff645014e2afa935bebffdb5fbd207ffdeab

shake128('', 256);
// 7f9c2ba4e88f827d616045507605853ed73b8093f6efbc88eb1a6eacfa66ef26

shake256('', 512);
// 46b9dd2b0ba88d13233b3feb743eeb243fcd52ea62b81b82b50c27646ed5762fd75dc4ddd8c0f200cb05019d67b592f6fc821c49479ab48640292eacb3b7c4be
```

它还支持UTF-8编码:

代码

```JavaScript
sha3_512('中文');
// 059bbe2efc50cc30e4d8ec5a96be697e2108fcbf9193e1296192eddabc13b143c0120d059399a13d0d42651efe23a6c1ce2d1efb576c5b207fa2516050505af7

sha3_384('中文');
// 9fb5b99e3c546f2738dcd50a14e9aef9c313800c1bf8cf76bc9b2c3a23307841364c5a2d0794702662c5796fb72f5432

sha3_256('中文');
// ac5305da3d18be1aed44aa7c70ea548da243a59a5fd546f489348fd5718fb1a0

sha3_224('中文');
// 106d169e10b61c2a2a05554d3e631ec94467f8316640f29545d163ee

keccak512('中文');
// 2f6a1bd50562230229af34b0ccf46b8754b89d23ae2c5bf7840b4acfcef86f87395edc0a00b2bfef53bafebe3b79de2e3e01cbd8169ddbb08bde888dcc893524

keccak384('中文');
// 743f64bb7544c6ed923be4741b738dde18b7cee384a3a09c4e01acaaac9f19222cdee137702bd3aa05dc198373d87d6c

keccak256('中文');
// 70a2b6579047f0a977fcb5e9120a4e07067bea9abb6916fbc2d13ffb9a4e4eee

keccak224('中文');
// f71837502ba8e10837bdd8d365adb85591895602fc552b48b7390abd
```

也支持字节 `Array`, (中文(简体) ), `Uint8Array`, (中文(简体) ), `ArrayBuffer` 输入 :

代码

```JavaScript
sha3_512([]);
// a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26

sha3_512(new Uint8Array([]));
// a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26

// ...
```

## 基准

[UTF8 主题](http://jsperf.com/sha3/5)  
[ASC 二届理事会](http://jsperf.com/sha3/4)

## 许可证

项目在下列项下公布: [麻省理工学院许可证](http://www.opensource.org/licenses/MIT)。 。 。 .

## 联系人

该项目的网站位于 [https://github.com/emn178/js-sha3 (英语)](https://github.com/emn178/js-sha3)  
作者:陈, Yi(y)[emn178@gmail.com (英语)](mailto:emn178@gmail.com)(中文(简体) )

## 常见问题

### @exodus/js-sha3 是什么？

一个简单的SHA-3 / Keccak / Shake hash 函数用于JavaScript支持UTF-8编码\.

### 如何安装 @exodus/js-sha3？

在项目目录运行 npm install @exodus/js-sha3，或使用 pnpm add / yarn add / bun add。

### @exodus/js-sha3 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @exodus/js-sha3 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @exodus/js-sha3 可以商用吗？

@exodus/js-sha3 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @exodus/js-sha3 的下载量有多少？

根据 npm 官方下载统计，@exodus/js-sha3 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,138 次，日均约 71 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @exodus/js-sha3 还在维护吗？

最新版本 0\.6\.1-exodus1 发布于 2020/01/07（6 年前）；至今共发布 2 个版本，其中过去 12 个月发布了 0 个；首次发布于 2020/01/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

