@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 +1 -1
- package/dist/src/humanhash.d.ts +0 -39
- package/dist/src/humanhash.d.ts.map +0 -1
- package/dist/src/humanhash.js +0 -114
- package/dist/src/humanhash.js.map +0 -1
package/package.json
CHANGED
package/dist/src/humanhash.d.ts
DELETED
|
@@ -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"}
|
package/dist/src/humanhash.js
DELETED
|
@@ -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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"}
|