当前位置: 首页 > 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年没有写博客了,肯定是因为我年纪大了,懈怠了。各位看官不吝啬小手点个小赞的话,我会多多写博文的哦!谢谢大家。

相关文章:

  • 架构实践中,指标体系如何科学建立?构建指标体系的五层结构模型是什么?不同架构风格下的指标体系有怎样的差异?
  • 嵌入式软件架构规范之 - 分层设计
  • Cmake+VS2019MSVC编译器编译opencv4.10成功步骤
  • Kotlin 极简小抄 P10(类与对象、主构造函数、带有默认参数值的主构造函数、次要构造函数)
  • python——多线程编程(threading)
  • python实战:如何获取word文档中指定内容并作为新文件名
  • 鸿蒙 HarmonyOS NEXT 系统 Preference 首选项使用全解析
  • 偏微分方程数值方法指南及AI推理
  • springboot3+vue3融合项目实战-大事件文章管理系统-本地存储及阿里云oss程序集成
  • Linux操作系统的优势官方开发App应用程序有哪些优缺点
  • Java进阶之新特性
  • 中科视界,赋能文化产业新世界——千眼狼高速摄像机、DIC测量系统亮相第二十一届中国(深圳)国际文博会
  • VMIC PMV-5565PIORC-21000超高速光纤反射内存硬件参考
  • Argo CD 详解:从 GitOps 到持续交付的完整实践
  • Appium+python自动化(二)- 环境搭建—下
  • 鸿蒙 Initiated Worker with invalid NODE_OPTIONS env variable
  • N-gram语言模型原理与实战教程
  • Issac Lab安装
  • java I/O
  • SQLSERVER数据库表分区学习(未在项目上使用)
  • 石家庄做外贸的网站推广/北京网站优化方式
  • 汕头企业网站建设服务/qq群排名优化软件官网
  • 顶尖网站建设公司/牛排seo
  • 临沂哪里做网站比较好/谷歌网页版入口在线
  • 青海互动网站建设/百度用户服务中心
  • 网站代码怎么做/今日新闻头条内容