问题描述
我想获取我使用reactJS形式上传的文档的Base64编码的SHA-256二进制摘要:
<input
type="file"
name="file"
onChange={async (e) => {
let selectedFile = e.target.files;
//I want to convert my file here
}}
/>
因此我可以将结果传递给API端点。 我用来获取文档正确格式的脚本是:
openssl dgst -binary -sha256 <document> | openssl enc -base64
我想在React JS代码中获得此脚本的相同输出。或将我使用表单上传的文档传递到此脚本,然后使用输出。
解决方法
您需要使用一个库来计算sha256,例如crypto js,然后
let selectedFile = e.target.files[0];
var reader = new FileReader();
reader.onload = function (event) {
var data = event.target.result;
var digest = CryptoJS.SHA256( data );
};
reader.readAsBinaryString(selectedFile);