当前位置:首页 > JavaScript

js实现sha1加密

2026-03-01 09:01:14JavaScript

JavaScript 实现 SHA-1 加密

SHA-1(Secure Hash Algorithm 1)是一种常用的哈希算法,用于生成数据的唯一哈希值。在 JavaScript 中,可以通过原生 API 或第三方库实现 SHA-1 加密。

使用 Web Crypto API(原生支持)

现代浏览器支持 Web Crypto API,可以直接调用 crypto.subtle.digest 方法生成 SHA-1 哈希值。

async function sha1(message) {
  const encoder = new TextEncoder();
  const data = encoder.encode(message);
  const hashBuffer = await crypto.subtle.digest('SHA-1', data);
  const hashArray = Array.from(new Uint8Array(hashBuffer));
  const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
  return hashHex;
}

// 使用示例
sha1('Hello World').then(console.log); // 输出: 0a4d55a8d778e5022fab701977c5d840bbc486d0

使用第三方库(如 js-sha1

如果需要在旧版浏览器或 Node.js 环境中使用,可以引入第三方库 js-sha1

安装库(Node.js):

npm install js-sha1

使用示例:

const sha1 = require('js-sha1');

const hash = sha1('Hello World');
console.log(hash); // 输出: 0a4d55a8d778e5022fab701977c5d840bbc486d0

浏览器中直接引入 js-sha1

通过 CDN 引入:

js实现sha1加密

<script src="https://cdn.jsdelivr.net/npm/js-sha1@0.6.0/src/sha1.min.js"></script>
<script>
  const hash = sha1('Hello World');
  console.log(hash); // 输出: 0a4d55a8d778e5022fab701977c5d840bbc486d0
</script>

注意事项

  • SHA-1 已被证明存在安全性问题,不推荐用于密码存储或敏感数据加密。建议使用更安全的算法(如 SHA-256 或 SHA-3)。
  • Web Crypto API 仅支持 HTTPS 或本地环境(localhost),非安全上下文中可能无法使用。

标签: js
分享给朋友:

相关文章

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现上传文件

js实现上传文件

文件上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现文件上传功能。 <input type="file"…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

js实现轮播代码

js实现轮播代码

基础轮播实现 使用HTML、CSS和JavaScript创建一个简单的轮播效果。HTML部分定义轮播容器和图片元素。 <div class="carousel"> <div c…

js尚未实现

js尚未实现

JavaScript 尚未实现的功能 JavaScript 作为一门不断发展的语言,仍有一些功能尚未被原生支持或标准化。以下是一些常见的尚未实现的功能或特性: Promise.any() 的替代方案…

js实现表单验证提交表单提交表单提交

js实现表单验证提交表单提交表单提交

表单验证与提交的实现 在JavaScript中实现表单验证并提交表单,可以通过监听表单的提交事件,进行验证后决定是否提交。以下是实现方法: 基础表单验证 通过监听表单的submit事件,阻止默认提交…