mirror of
https://github.com/arnaucube/circom.git
synced 2026-02-07 03:06:42 +01:00
First iteration sha256
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
const chai = require("chai");
|
||||
const path = require("path");
|
||||
const zkSnark = require("zksnark");
|
||||
const crypto = require("crypto");
|
||||
|
||||
const compiler = require("../index.js");
|
||||
|
||||
@@ -31,6 +32,23 @@ describe("SHA256 test", () => {
|
||||
assert(witness[0].equals(zkSnark.bigInt(1)));
|
||||
assert(witness[1].equals(zkSnark.bigInt("333")));
|
||||
});
|
||||
it("Should calculate a hash", async () => {
|
||||
const cirDef = await compiler(path.join(__dirname, "circuits", "sha256_2_test.circom"));
|
||||
const circuit = new zkSnark.Circuit(cirDef);
|
||||
|
||||
const witness = circuit.calculateWitness({ "a": "1", "b": "2" });
|
||||
|
||||
const b = new Buffer.alloc(432);
|
||||
b[115] = 1;
|
||||
b[431] = 2;
|
||||
|
||||
const hash = crypto.createHash("sha256")
|
||||
.update(b)
|
||||
.digest("hex");
|
||||
const r = "0x" + hash.slice(40);
|
||||
|
||||
assert(witness[1].equals(zkSnark.bigInt(r)));
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user