当前位置: 首页 > news >正文

浏览器原生 Web Crypto API 实现 SHA256 Hash 加密

写在前面

在我上一篇文章 《node 后端和浏览器前端,有关 RSA 非对称加密的完整实践, 前后端匹配的代码演示》 中,我们使用 浏览器原生 Web Crypto API 实现了 RSA 的加密算法。

但是,在我之前的 《我设计的一个安全的 web 系统用户密码管理流程》 代码设计中,还涉及到 hash 计算,而目前,常见的 hash 计算,就是 SHA256 了。同样的,我们可以使用 Web Crypto API 来实现,而不必借助第三方库。

SHA 256 的实现方法

闲言少叙,直接展示代码:

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

SHA256 函数运行演示

小结

我们可以看到,浏览器原生 Web Crypto API 可以实现 RSA 的非对称加密,以及 SHA256 Hash 算法,当然,也支持对称加密算法等,大家可以自己去尝试一下。

不过需要注意的是,由于 md5、 sha1 等算法已经被证明是不安全的,因此 Web Crypto API 并没有支持。我个人的建议是,在浏览器端,我们要计算 hash 的话,还是使用 sha256 吧。

以上!祝各位看官开心!我最近看了一下,我居然4年没有写博客了,肯定是因为我年纪大了,懈怠了。各位看官不吝啬小手点个小赞的话,我会多多写博文的哦!谢谢大家。

http://www.xdnf.cn/news/592723.html

相关文章:

  • 六:操作系统虚拟内容之内存文件映射
  • DeepSeek的进阶应用场景大全
  • poppler_path 是用于 Python 库如 pdf2image 进行 PDF 转换时
  • 《告别单一智能:神经符号混合系统驱动推理能力的跨界融合》
  • 哈希表和容器中添加元素的方法
  • 什么是CDN(Content Delivery Network,内容分发网络)
  • ubunt配置本地源
  • Linux开发板串口终端会限制命令字符数并且循环覆盖
  • 并发编程 之 TreeMap ConcurrentSkipListMap set queue源码分析
  • 自动化测试报告工具
  • 【八股战神篇】Redis高频面试题
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月22日第85弹
  • 数据结构知识点汇总
  • 速卖通关键词搜索API开发指南
  • 简单说一下px和ex 的区别......
  • 测试文章1
  • ATGM336H-6N_GNSS 单频多模定位导航模块
  • IEEE Wireless Communications 2025年1月-4月论文速览
  • 二十一、面向对象底层逻辑-scope作用域接口设计
  • 05算法学习_59. 螺旋矩阵 II
  • 如何测试JWT的安全性:全面防御JSON Web Token的安全漏洞
  • 第34节:迁移学习中的特征提取方法
  • 落石滑坡倒树自然灾害检测数据集VOC+YOLO格式958张3类别
  • Linux 搭建FTP服务器(vsftpd)
  • 操作系统结构
  • C++23中std::span和std::basic_string_view可平凡复制提案解析
  • 珠宝课程小程序源码介绍
  • 先进先出(FIFO)页面置换算法
  • echarts各种踩坑记录
  • 【Python中的Socket套接字详解】网络通信的核心基石