From c88dc70552038959f58179286d074c1474982dfd Mon Sep 17 00:00:00 2001 From: Alexey Date: Mon, 27 Apr 2020 14:11:35 +0300 Subject: [PATCH] get hash from webassm --- lib/phase2/phase2_bg.wasm | Bin 169446 -> 170204 bytes pages/make-contribution.vue | 21 ++++++++++++++++----- server/controllers/contribute.js | 11 +++-------- server/models/contribution.js | 1 - static/_nuxt/lib/phase2/phase2_bg.wasm | Bin 169446 -> 170204 bytes 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/lib/phase2/phase2_bg.wasm b/lib/phase2/phase2_bg.wasm index 01ee364c4ec5e100bf66cbd0c7fc451188cc0b76..8c1e2d7667663bc12a102882bae16ca5a9bc0eee 100644 GIT binary patch delta 30948 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 ItHo{q2Z_}zAOHXW delta 30527 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⪚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 Oc8iJ{d1aYc`F{Y$%X}sP diff --git a/pages/make-contribution.vue b/pages/make-contribution.vue index d3db99d..78f89c8 100644 --- a/pages/make-contribution.vue +++ b/pages/make-contribution.vue @@ -82,6 +82,12 @@ import { mapGetters, mapActions } from 'vuex' import Cloak from '@/components/Cloak' import Form from '@/components/Form' const timeout = (ms) => new Promise((resolve) => setTimeout(resolve, ms)) +function buf2hex(buffer) { + // buffer is an ArrayBuffer + return Array.prototype.map + .call(new Uint8Array(buffer), (x) => ('00' + x.toString(16)).slice(-2)) + .join('') +} export default { components: { @@ -183,12 +189,12 @@ export default { let msgBuffer = new TextEncoder('utf-8').encode(userInput) let hashBuffer = await window.crypto.subtle.digest('SHA-256', msgBuffer) const entropyFromUser = new Uint8Array(hashBuffer) - console.log('entropyFromUser', entropyFromUser.toString()) + // console.log('entropyFromUser', entropyFromUser.toString()) msgBuffer = window.crypto.getRandomValues(new Uint8Array(1024)) hashBuffer = await window.crypto.subtle.digest('SHA-256', msgBuffer) const entropyFromBrowser = new Uint8Array(hashBuffer) - console.log('entropyFromBrowser', entropyFromBrowser.toString()) + // console.log('entropyFromBrowser', entropyFromBrowser.toString()) // suffle the browser and user random const entropy = new Uint8Array(entropyFromBrowser.length) @@ -196,14 +202,19 @@ export default { entropy[i] = entropyFromBrowser[i] + entropyFromUser[i] } - console.log('entropy', entropy) + // console.log('entropy', entropy) await this.sleep(100) // so browser can render the messages const result = contribute(data, entropy) console.log('Updated params', result) + const hash = '0x' + buf2hex(result.slice(0, 64)) + const contribution = result.slice(64) + + console.log('hash', hash) + console.log('contribution', contribution) this.$root.$emit('enableLoading', 'Uploading and verifying your contribution') const formData = new FormData() - formData.append('response', new Blob([result], { type: 'application/octet-stream' })) + formData.append('response', new Blob([contribution], { type: 'application/octet-stream' })) if (this.contributionType !== 'anonymous') { formData.append('name', this.userName) formData.append('company', this.userCompany) @@ -217,7 +228,7 @@ export default { this.$store.commit('user/SET_CONTRIBUTION_INDEX', responseData.contributionIndex) this.status.msg = 'Your contribution is verified and recorded.' this.status.type = 'is-success' - this.contributionHash = responseData.hash + this.contributionHash = hash if (this.contributionType === 'anonymous') { this.authorizeLink = `${window.location.origin}/authorize-contribution?token=${responseData.token}` } diff --git a/server/controllers/contribute.js b/server/controllers/contribute.js index ac1eab7..e6bede6 100644 --- a/server/controllers/contribute.js +++ b/server/controllers/contribute.js @@ -84,12 +84,7 @@ router.post('/response', upload.single('response'), async (req, res) => { token = crypto.randomBytes(32).toString('hex') } - const contribution = await fs.readFile(`/tmp/tornado/${req.file.filename}`) - const blake2Instance = blake2.createHash('blake2b') - blake2Instance.update(contribution) - const hash = '0x' + blake2Instance.digest('hex') - - await Contribution.create({ name, company, handle, socialType, token, hash }) + await Contribution.create({ name, company, handle, socialType, token }) console.log('Contribution is correct, uploading to storage') if (process.env.DISABLE_S3 !== 'true') { @@ -103,8 +98,8 @@ router.post('/response', upload.single('response'), async (req, res) => { `./server/snark_files/response_${contributionIndex}` ) - console.log('Finished. The hash of the contribution is', hash) - res.json({ contributionIndex, token, hash }) + console.log('Contribution finished.') + res.json({ contributionIndex, token }) } catch (e) { console.error('Got error during save', e) res.status(503).send(e.toString()) diff --git a/server/models/contribution.js b/server/models/contribution.js index 0162dbb..f81360b 100644 --- a/server/models/contribution.js +++ b/server/models/contribution.js @@ -24,7 +24,6 @@ module.exports = (sequelize, DataTypes) => { company: DataTypes.STRING, handle: DataTypes.STRING, socialType: DataTypes.STRING, - hash: DataTypes.STRING, attestation: DataTypes.STRING }, { diff --git a/static/_nuxt/lib/phase2/phase2_bg.wasm b/static/_nuxt/lib/phase2/phase2_bg.wasm index 01ee364c4ec5e100bf66cbd0c7fc451188cc0b76..8c1e2d7667663bc12a102882bae16ca5a9bc0eee 100644 GIT binary patch delta 30948 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 ItHo{q2Z_}zAOHXW delta 30527 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⪚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 Oc8iJ{d1aYc`F{Y$%X}sP