on master help sign in
Name constants
commitc9ab2463ce0ec431affc1d9c80004f6f1f30365c authorLiam Fitzgerald <hastuc-dibtux@gmail.com> dateWed 9 Oct 2019, 16:58 (7 years ago) parentb687c79
3 files changed+11−10
src/lib/keys.js+4−4 src/lib/networkCode.js+6−5 src/lib/useKeyfileGenerator.js+1−1
src/lib/keys.js+4−4
@@ -59,6 +59,9 @@ const jam = seed => {
5959// simple alias to avoid importing kg into component scope
6060export const deriveNetworkKeys = seed => kg.deriveNetworkKeys(seed);
6161
62+export const createRing = pair =>
63+ pair.crypt.private + pair.auth.private + NETWORK_KEY_CURVE_PARAMETER;
64+
6265/**
6366 * @param {object} pair
6467 * @param {number} point
@@ -66,10 +69,7 @@ export const deriveNetworkKeys = seed => kg.deriveNetworkKeys(seed);
6669 * @return {string}
6770 */
6871export const compileNetworkingKey = (pair, point, revision) => {
69− const bnsec = new BN(
70− pair.crypt.private + pair.auth.private + NETWORK_KEY_CURVE_PARAMETER,
71− 'hex'
72− );
72+ const bnsec = new BN(createRing(pair), 'hex');
7373
7474 const sed = noun.dwim(
7575 noun.Atom.fromInt(point),
src/lib/networkCode.js+6−5
@@ -1,4 +1,5 @@
11import { hex2patp } from 'urbit-ob';
2+import { createRing } from 'lib/keys';
23
34import jssha256 from 'js-sha256';
45
@@ -7,7 +8,7 @@ function shax(buf) {
78 return Buffer.from(hashed);
89}
910
10−function hexToArrayBuffer(hex) {
11+function hex2buf(hex) {
1112 return Buffer.from(hex, 'hex').reverse();
1213}
1314
@@ -38,10 +39,10 @@ function shaf(buf, salt) {
3839 return xor(front, back);
3940}
4041
41−export const generateCode = async privKeyHex => {
42− const privKey = hexToArrayBuffer(privKeyHex);
43− const salt = hexToArrayBuffer('73736170');
44− const hash = shax(privKey);
42+export const generateCode = pair => {
43+ const ring = hex2buf(createRing(pair));
44+ const salt = hex2buf('73736170'); // salt is the noun %pass
45+ const hash = shax(ring);
4546 const result = shaf(hash, salt);
4647 const half = result.slice(0, result.length / 2);
4748
src/lib/useKeyfileGenerator.js+1−1
@@ -74,7 +74,7 @@ export default function useKeyfileGenerator(manualNetworkSeed) {
7474
7575 const pair = deriveNetworkKeys(_networkSeed);
7676
77− generateCode(pair.crypt.private + pair.auth.private + '42').then(setCode);
77+ setCode(generateCode(pair));
7878
7979 if (!keysMatchChain(pair, _details)) {
8080 setGenerating(false);