jsSHA支持HMAC的SHA加密算法合集

jsSHA 的加密算法支持范围挺全,从老牌的 SHA-1SHA3 系列都能搞定,连 HMACKMAC 这些你不太常用但有时刚需的算法也都包含了。浏览器端直接引入 JS 文件就能用,响应也快,兼容性也还不错。

想给前端项目加一层 数据完整性校验?用 SHA256 直接撸一行代码搞定。还想加点安全性?套上 HMAC 就行,配个密钥,效果立马上来。不管是前端加签还是离线 hash 校验,用 jsSHA 都挺顺手的。

调用方式也不复杂,比如用 SHA256 算法算个摘要:

const shaObj = new jsSHA('SHA-256', 'TEXT');
shaObj.update('要加密的内容');
const hash = shaObj.getHash('HEX');

要换成 HMAC 的话,只多一步:

const shaObj = new jsSHA('SHA-256', 'TEXT', { hmacKey: { value: '密钥内容', format: 'TEXT' } });
shaObj.update('要加密的内容');
const hmac = shaObj.getHash('HEX');

注意哦,算法名大小写敏感,还有格式一定要匹配,比如 TEXTHEX,这块不对容易出错。官方文档里例子也挺多的,推荐多看看。

如果你有后端配合,比如 PythonJava 生成的摘要,jsSHA 算出来的值能完全对得上,跨语言一致性这点做得蛮不错的。

zip
jsSHA-master.zip 预估大小:62个文件
folder
jsSHA-master 文件夹
file
rollup.config.js 5KB
file
.eslintrc.js 775B
file
bower.json 2KB
file
.prettierignore 27B
folder
src 文件夹
file
custom_types.ts 2KB
file
primitives_32.ts 6KB
file
sha512.ts 10KB
file
common.ts 15KB
file
converters.ts 21KB
file
license_header.es3.txt 1KB
file
license_header.es6.txt 387B
file
sha.ts 8KB
file
primitives_64.ts 9KB
file
sha1.ts 5KB
file
sha256.ts 6KB
file
sha3.ts 20KB
file
.npmignore 95B
file
.travis.yml 167B
file
tsconfig.json 237B
file
LICENSE 2KB
folder
test 文件夹
file
hash_data.js 51KB
folder
src 文件夹
file
test_primitives_64.ts 6KB
file
test_common.ts 21KB
file
common.ts 2KB
file
test_converters.ts 20KB
file
test_sha3_consts.ts 6KB
file
test_sha512.ts 8KB
file
test_sha1.ts 4KB
file
test_sha3.ts 20KB
file
test_primitives_32.ts 4KB
file
test_sha.ts 894B
file
test_sha256.ts 6KB
file
genShake.py 953B
folder
dist 文件夹
file
test_umd.js 2KB
file
hash-file.html 4KB
file
test_esm.mjs 2KB
file
hash_data.d.ts 980B
file
genHashRounds.py 2KB
file
README.md 8KB
file
SECURITY.md 598B
folder
dist 文件夹
file
sha.mjs.map 140KB
file
sha.js 23KB
file
sha512.d.ts 7KB
file
sha.d.ts 7KB
file
sha512.mjs 13KB
file
sha256.js 11KB
file
sha256.d.ts 6KB
file
sha1.js 10KB
file
sha256.mjs 10KB
file
sha.mjs 22KB
file
sha1.mjs 9KB
file
sha.js.map 152KB
file
sha512.js 15KB
file
sha3.js 13KB
file
sha3.mjs 12KB
file
sha1.d.ts 6KB
file
sha3.d.ts 9KB
file
.gitignore 4KB
file
karma.conf.js 605B
file
CHANGELOG.md 9KB
file
package-lock.json 224KB
file
package.json 4KB
zip 文件大小:261.17KB