Safik
February 14, 2022, 1:28pm
1
Hi!
It is necessary to calculate a huge number of large binary data objects. There is a ready-made package with implementation. But this is a long option for requests from the frontend.
import Blob "mo:base/Blob";
import Hex "mo:encoding/Hex";
import Text "mo:base/Text";
import Debug "mo:base/Debug";
import SHA256 "../src/SHA/SHA256";
let sum256 = SHA256.sum(Blob.toArray(Text.encodeUtf8("hello world\n")));
assert(Hex.encode(sum256) == "A948904F2F0F479B8F8197694B30184B0D2ED1C1CD2A1EC0FB85D299A192A447");
let h = SHA256.New();
h.write(Blob.toArray(Text.encodeUtf8("hello world\n")));
assert(Hex.encode(sum256) == Hex.encode(h.sum([])));
for (v in [
("", "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"),
("a", "CA978112CA1BBDCAFAC231B39A23DC4DA786EFF8147C4E72B9807785AFEE48BB"),
("ab", "FB8E20FC2E4C3F248C60C39BD652F3C1347298BB977B8B4D5903B85055620603"),
("abc", "BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD"),
This file has been truncated. show original
Update.
I understand that you need to try to implement CRC and check.