1. 要在浏览器中计算出文件的sha256或md5值,基本思路就是使用HTML5的FileReader接口把文件读取到内存(readAsArrayBuffer),然后获取文件的二进制内容,然后获取文件的shaa256或md5值。

2. ArrayBuffer是一块内存,ArrayBuffer对象被用来表示一个通用的,固定长度的二进制数据缓冲区。

3. CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。目前已支持的算法包括: MD5 SHA-1 SHA-256 AES Rabbit MARC4 HMAC HMAC-MD5 HMAC-SHA1...

首先从input type=file中读取文件,然后使用以下代码计算出sha256值。

let reader = new FileReader();
reader.readAsArrayBuffer(file.files[0]);
reader.onload = function () {
var wordArray = CryptoJS.lib.WordArray.create(reader.result);
var hash = CryptoJS.SHA256(wordArray).toString();
};

参考:

https://stackoverflow.com/questions/27060248/calculate-sha-256-hash-and-b64-of-a-file-in-javascript

crypto-js计算文件的sha256值的更多相关文章

  1. 计算文件的MD5值和sha256值

    1.计算文件的MD5值. 1)linux系统计算 MD5值:md5sum+文件名 sha256值:sha256su+文件名 2)windows系统计算 MD5值:利用Notepad++工具计算 sha ...

  2. C#计算文件的MD5值实例

    C#计算文件的MD5值实例 MD5 是 Message Digest Algorithm 5(信息摘要算法)的缩写,MD5 一种散列(Hash)技术,广泛用于加密.解密.数据签名和数据完整性校验等方面 ...

  3. C# 计算文件的 Hash 值

    /// <summary> /// 提供用于计算指定文件哈希值的方法 /// <example>例如计算文件的MD5值: /// <code> /// String ...

  4. c#计算文件的MD5值

    代码: /// <summary> /// 计算文件的 MD5 值 /// </summary> /// <param name="fileName" ...

  5. Windows10计算文件SHA1 SHA256 SHA384 SHA512 or MD5

    目录 Windows10计算文件SHA1 SHA256 SHA384 SHA512 or MD5? 1.计算SHA1 2.计算SHA256 3.计算SHA384 4.计算SHA512 5.计算MD5 ...

  6. 在.NET中计算文件的MD5值

    更新记录 本文迁移自Panda666原博客,原发布时间:2021年7月2日. 直接上代码吧: using System; using System.IO; using System.Security. ...

  7. 【转】Java计算文件的hash值

    原文地址:http://blog.csdn.net/qq_25646191/article/details/78863110 如何知道一个文件是否改变了呢?当然是用比较文件hash值的方法,文件has ...

  8. python计算文件的md5值

    前言 最近要开发一个基于python的合并文件夹/目录的程序,本来的想法是基于修改时间的比较,即判断文件有没有改变,比较两个文件的修改时间即可.这个想法在windows的pc端下测试没有问题. 但是当 ...

  9. asp.net和js读取文件的MD5值的方法

    前言 文件的md5值,即文件签名,为了验证文件的正确性,是否被恶意篡改等.每个文件有一个唯一的md5值. 最近公司开发的app文件包的校验就有用到文件md5值. 一.asp.net获取 ①和上传文件一 ...

随机推荐

  1. Linux 下的多线程下载工具 Axel

    Axel 是 Linux 平台下的一款 HTTP/FTP 的高速下载工具,支持多线程以及断点续传,对于一些有速度限制的服务器上下载东西时,Axel 的速度就明显比 wget 要快一些 还有另一个基于 ...

  2. 移动距离——第六届蓝桥杯C语言B组(省赛)第八题

    原创  问题描述: 移动距离 X星球居民小区的楼房全是一样的,并且按矩阵样式排列.其楼房的编号为1,2,3...当排满一行时,从下一行相邻的楼往反方向排号.比如:当小区排号宽度为6时,开始情形如下: ...

  3. 前端技术俗语js

    注:原文是英文,本文是我翻译的.有人把我翻译的内容原文照抄,放到他自己的专栏,搞得有人问我是不是我抄袭了……请支持我的劳动成果,花了两个小时翻译的,谢谢.转载请注明译者为方应杭. 嘿,我最近接到一个 ...

  4. 3、Semantic-UI之定义容器

    3.1 定义容器   在主流的前端框架中都会有容器的概念,但是在Semantic-UI中,如果要定义容器需要通过class="ui container",定义容器后,浏览器会根据不 ...

  5. dede上传文件乱码问题解决

    修改下列两个文件: /include/dialog/select_soft_post.php/include/dialog/select_soft.php 改: select_soft.php文件第1 ...

  6. Nexys4 DDR MIG控制器引脚文件

    目前网上只有ucf文件,vivado不兼容ucf格式 使用c++字符串转换的xdc格式代码 set_property -dict { PACKAGE_PIN R7 IOSTANDARD SSTL18_ ...

  7. EDM模板制作规范

    为了保证最大的兼容性,在制作HTML的email页面时,请严格按照规范来书写: 1.页面宽度推荐500px,最大不要超过750px: 2.制作HTML的email页面时,不使用css+div来布局,最 ...

  8. PMBOK项目管理认知概要

    2015年6月,通过努力取得PMP证书,很是欣喜,也是对努力付出的一种奖励吧! 通过学习PMP相关的项目管理的知识,对国外的项目管理技术有更加系统的认知.理解.掌握,熟悉全项目生命周期的管理. 其实对 ...

  9. [Erlang16]为什么要用MFA代替fun()–>end?

    MFA:Module Function Arguments. 首先你要知道Module:Func(Args)和Func(Args)的区别在哪里? 如果对细节感兴趣,可以通过这里了解:http://ww ...

  10. EF6使用Mysql的一些问题(code first)

    首先,添加nuget Mysql.Data ; Mysql.Data.Entity ; 添加配置文件connectionStrings <add name="conn" co ...