最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何计算在浏览器中的文件的校验和得到相同的结果,从Windows命令提示符

IT培训 admin 3浏览 0评论

如何计算在浏览器中的文件的校验和得到相同的结果,从Windows命令提示符

我想从我的网页文件上传获取校验/哈希值。

我目前能够通过浏览器上传文件,然后计算使用Node.js的密码库的哈希值。我先斑转换为传输数据的URL。

export function calculateHash(dataUrl, type){

  const sha1sum = crypto.createHash('sha1').update(dataUrl).digest("hex");
  console.log('Hash sum is ' + sha1sum);

}

结果:66b8bdd2d1d49f708722c15b26409bc072096697

当我从窗户手动计算散列命令提示使用下面的命令..

fciv.exe 1_1.wav -sha1

结果:b06071b13a1b50cd2976ed7bb4180f6963e8db8e

我想从数据网址,以获取相同的校验结果在我的浏览器做在命令提示符下的人工检查。

这可能吗?

回答如下:

数据URL看起来像data:image/png;base64,<BASE-64 DATA>。你会需要提取BASE-64数据部分,解码的base64然后运行你的哈希算法。或者 - 如果你想在浏览器中执行散列 - 使用的FileReader API:

function calculateHash(file, callback) {  
  let reader = new FileReader();
  reader.onload = function(event) {
    let file_sha1 = sha1(reader.result);
    callback(file_sha1);
  };
  reader.readAsArrayBuffer(file);
}

let input = document.getElementById("input-file"),
    info = document.getElementById("info");

input.addEventListener("change", function(event) {
  let file = input.files[0];
  
  if (file) {
    calculateHash(file, function(file_sha1) {
      info.textContent = file_sha1;
    });
  }
});
<script src="https://cdnjs.cloudflare/ajax/libs/js-sha1/0.6.0/sha1.min.js"></script>

<input id="input-file" type="file">
<div id="info"></div>

如何计算在浏览器中的文件的校验和得到相同的结果,从Windows命令提示符

我想从我的网页文件上传获取校验/哈希值。

我目前能够通过浏览器上传文件,然后计算使用Node.js的密码库的哈希值。我先斑转换为传输数据的URL。

export function calculateHash(dataUrl, type){

  const sha1sum = crypto.createHash('sha1').update(dataUrl).digest("hex");
  console.log('Hash sum is ' + sha1sum);

}

结果:66b8bdd2d1d49f708722c15b26409bc072096697

当我从窗户手动计算散列命令提示使用下面的命令..

fciv.exe 1_1.wav -sha1

结果:b06071b13a1b50cd2976ed7bb4180f6963e8db8e

我想从数据网址,以获取相同的校验结果在我的浏览器做在命令提示符下的人工检查。

这可能吗?

回答如下:

数据URL看起来像data:image/png;base64,<BASE-64 DATA>。你会需要提取BASE-64数据部分,解码的base64然后运行你的哈希算法。或者 - 如果你想在浏览器中执行散列 - 使用的FileReader API:

function calculateHash(file, callback) {  
  let reader = new FileReader();
  reader.onload = function(event) {
    let file_sha1 = sha1(reader.result);
    callback(file_sha1);
  };
  reader.readAsArrayBuffer(file);
}

let input = document.getElementById("input-file"),
    info = document.getElementById("info");

input.addEventListener("change", function(event) {
  let file = input.files[0];
  
  if (file) {
    calculateHash(file, function(file_sha1) {
      info.textContent = file_sha1;
    });
  }
});
<script src="https://cdnjs.cloudflare/ajax/libs/js-sha1/0.6.0/sha1.min.js"></script>

<input id="input-file" type="file">
<div id="info"></div>
发布评论

评论列表 (0)

  1. 暂无评论