@dxos/crypto 2.19.3-dev.6c517690 → 2.19.3-dev.794f3372

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/crypto",
3
- "version": "2.19.3-dev.6c517690",
3
+ "version": "2.19.3-dev.794f3372",
4
4
  "description": "Basic crypto key utils",
5
5
  "license": "AGPL-3.0",
6
6
  "author": "DXOS.org",
@@ -1,39 +0,0 @@
1
- /**
2
- * humanhash: Human-readable representations of digests.
3
- */
4
- export declare class HumanHasher {
5
- private readonly wordlist;
6
- /**
7
- * Transforms hex digests to human-readable strings.
8
- *
9
- * The format of these strings will look something like:
10
- * `victor-bacon-zulu-lima`. The output is obtained by compressing the input
11
- * digest to a fixed number of bytes, then mapping those bytes to one of 256
12
- * words. A default wordlist is provided, but you can override this if you
13
- * prefer.
14
- * As long as you use the same wordlist, the output will be consistent (i.e.
15
- * the same digest will always render the same representation).
16
- *
17
- * @param wordlist A list of exactly 256 words to choose from
18
- */
19
- constructor(wordlist?: string[]);
20
- /**
21
- * Humanize a given hexadecimal digest.
22
- *
23
- * Change the number of words output by specifying `words`. Change the
24
- * word separator with `separator`.
25
- *
26
- * @param hexdigest A string of hexadecimal characters to humanize
27
- * @param words How many words to output (more = safer)
28
- * @param separator The string used to seperate the words
29
- */
30
- humanize(hexdigest: string, words?: number, separator?: string): string;
31
- /**
32
- * Compress a list of byte values to a fixed target length.
33
- *
34
- * @param bytes A list of bytes (numbers from 0-254)
35
- * @param target The number of bytes to return / compress to
36
- */
37
- _compress(bytes: number[], target: number): number[];
38
- }
39
- //# sourceMappingURL=humanhash.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"humanhash.d.ts","sourceRoot":"","sources":["../../src/humanhash.ts"],"names":[],"mappings":"AA4CA;;GAEG;AAEH,qBAAa,WAAW;IAcT,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAbtC;;;;;;;;;;;;OAYG;gBAC2B,QAAQ,WAAmB;IAOzD;;;;;;;;;OASG;IACH,QAAQ,CAAE,SAAS,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,SAAS,SAAM;IAYvD;;;;;OAKG;IACH,SAAS,CAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM;CAqB3C"}
@@ -1,114 +0,0 @@
1
- "use strict";
2
- //
3
- // Copyright 2021 DXOS.org
4
- //
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HumanHasher = void 0;
7
- // From https://github.com/SEBv15/humanhash/blob/166c1a6f70d854fe6767cdd76be1237112d4eaf1/index.js
8
- const DEFAULT_WORDLIST = [
9
- 'ack', 'alabama', 'alanine', 'alaska', 'alpha', 'angel', 'apart', 'april',
10
- 'arizona', 'arkansas', 'artist', 'asparagus', 'aspen', 'august', 'autumn',
11
- 'avocado', 'bacon', 'bakerloo', 'batman', 'beer', 'berlin', 'beryllium',
12
- 'black', 'blossom', 'blue', 'bluebird', 'bravo', 'bulldog', 'burger',
13
- 'butter', 'california', 'carbon', 'cardinal', 'carolina', 'carpet', 'cat',
14
- 'ceiling', 'charlie', 'chicken', 'coffee', 'cola', 'cold', 'colorado',
15
- 'comet', 'connecticut', 'crazy', 'cup', 'dakota', 'december', 'delaware',
16
- 'delta', 'diet', 'don', 'double', 'early', 'earth', 'east', 'echo',
17
- 'edward', 'eight', 'eighteen', 'eleven', 'emma', 'enemy', 'equal',
18
- 'failed', 'fanta', 'fifteen', 'fillet', 'finch', 'fish', 'five', 'fix',
19
- 'floor', 'florida', 'football', 'four', 'fourteen', 'foxtrot', 'freddie',
20
- 'friend', 'fruit', 'gee', 'georgia', 'glucose', 'golf', 'green', 'grey',
21
- 'hamper', 'happy', 'harry', 'hawaii', 'helium', 'high', 'hot', 'hotel',
22
- 'hydrogen', 'idaho', 'illinois', 'india', 'indigo', 'ink', 'iowa',
23
- 'island', 'item', 'jersey', 'jig', 'johnny', 'juliet', 'july', 'jupiter',
24
- 'kansas', 'kentucky', 'kilo', 'king', 'kitten', 'lactose', 'lake', 'lamp',
25
- 'lemon', 'leopard', 'lima', 'lion', 'lithium', 'london', 'louisiana',
26
- 'low', 'magazine', 'magnesium', 'maine', 'mango', 'march', 'mars',
27
- 'maryland', 'massachusetts', 'may', 'mexico', 'michigan', 'mike',
28
- 'minnesota', 'mirror', 'mississippi', 'missouri', 'mobile', 'mockingbird',
29
- 'monkey', 'montana', 'moon', 'mountain', 'muppet', 'music', 'nebraska',
30
- 'neptune', 'network', 'nevada', 'nine', 'nineteen', 'nitrogen', 'north',
31
- 'november', 'nuts', 'october', 'ohio', 'oklahoma', 'one', 'orange',
32
- 'oranges', 'oregon', 'oscar', 'oven', 'oxygen', 'papa', 'paris', 'pasta',
33
- 'pennsylvania', 'pip', 'pizza', 'pluto', 'potato', 'princess', 'purple',
34
- 'quebec', 'queen', 'quiet', 'red', 'river', 'robert', 'robin', 'romeo',
35
- 'rugby', 'sad', 'salami', 'saturn', 'september', 'seven', 'seventeen',
36
- 'shade', 'sierra', 'single', 'sink', 'six', 'sixteen', 'skylark', 'snake',
37
- 'social', 'sodium', 'solar', 'south', 'spaghetti', 'speaker', 'spring',
38
- 'stairway', 'steak', 'stream', 'summer', 'sweet', 'table', 'tango', 'ten',
39
- 'tennessee', 'tennis', 'texas', 'thirteen', 'three', 'timing', 'triple',
40
- 'twelve', 'twenty', 'two', 'uncle', 'undress', 'uniform', 'uranus', 'utah',
41
- 'vegan', 'venus', 'vermont', 'victor', 'video', 'violet', 'virginia',
42
- 'washington', 'west', 'whiskey', 'white', 'william', 'winner', 'winter',
43
- 'wisconsin', 'wolfram', 'wyoming', 'xray', 'yankee', 'yellow', 'zebra', 'zulu'
44
- ];
45
- /**
46
- * humanhash: Human-readable representations of digests.
47
- */
48
- // TODO(wittjosiah): Is this needed still?
49
- class HumanHasher {
50
- /**
51
- * Transforms hex digests to human-readable strings.
52
- *
53
- * The format of these strings will look something like:
54
- * `victor-bacon-zulu-lima`. The output is obtained by compressing the input
55
- * digest to a fixed number of bytes, then mapping those bytes to one of 256
56
- * words. A default wordlist is provided, but you can override this if you
57
- * prefer.
58
- * As long as you use the same wordlist, the output will be consistent (i.e.
59
- * the same digest will always render the same representation).
60
- *
61
- * @param wordlist A list of exactly 256 words to choose from
62
- */
63
- constructor(wordlist = DEFAULT_WORDLIST) {
64
- this.wordlist = wordlist;
65
- if (wordlist.length !== 256) {
66
- throw new Error('Wordlist must have exactly 256 items');
67
- }
68
- this.wordlist = wordlist;
69
- }
70
- /**
71
- * Humanize a given hexadecimal digest.
72
- *
73
- * Change the number of words output by specifying `words`. Change the
74
- * word separator with `separator`.
75
- *
76
- * @param hexdigest A string of hexadecimal characters to humanize
77
- * @param words How many words to output (more = safer)
78
- * @param separator The string used to seperate the words
79
- */
80
- humanize(hexdigest, words = 4, separator = '-') {
81
- const pairs = hexdigest.match(/(..?)/g);
82
- if (!pairs) {
83
- throw Error('');
84
- }
85
- const bytes = pairs.map((x) => parseInt(x, 16));
86
- const compressed = this._compress(bytes, words);
87
- return compressed.map((x) => this.wordlist[x]).join(separator);
88
- }
89
- /**
90
- * Compress a list of byte values to a fixed target length.
91
- *
92
- * @param bytes A list of bytes (numbers from 0-254)
93
- * @param target The number of bytes to return / compress to
94
- */
95
- _compress(bytes, target) {
96
- const length = bytes.length;
97
- if (target > length) {
98
- throw new Error('Fewer input bytes than requested output');
99
- }
100
- // Calculate the segment size (divide and round down)
101
- const segSize = length / target >> 0;
102
- // Split 'bytes' array into 'target' number of segments.
103
- const segments = [];
104
- for (let i = 0; i < segSize * target; i += segSize) {
105
- segments.push(bytes.slice(i, i + segSize));
106
- }
107
- // Catch any left-over bytes in the last segment.
108
- segments[segments.length - 1] = segments[segments.length - 1].concat(bytes.slice(target * segSize));
109
- const checksums = segments.map((x) => x.reduce((acc, curr) => acc ^ curr));
110
- return checksums;
111
- }
112
- }
113
- exports.HumanHasher = HumanHasher;
114
- //# sourceMappingURL=humanhash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"humanhash.js","sourceRoot":"","sources":["../../src/humanhash.ts"],"names":[],"mappings":"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"}