@@ -89,71 +89,90 @@ test('Char Set 2 Strings', t => {
89
89
90
90
test ( 'Char Set 64 string lengths' , t => {
91
91
const charSet = entropy . charSet64
92
- t . is ( entropyStringLength ( 5 , charSet ) , 1 )
93
- t . is ( entropyStringLength ( 6 , charSet ) , 1 )
94
- t . is ( entropyStringLength ( 7 , charSet ) , 2 )
95
- t . is ( entropyStringLength ( 18 , charSet ) , 3 )
96
- t . is ( entropyStringLength ( 50 , charSet ) , 9 )
97
- t . is ( entropyStringLength ( 122 , charSet ) , 21 )
98
- t . is ( entropyStringLength ( 128 , charSet ) , 22 )
99
- t . is ( entropyStringLength ( 132 , charSet ) , 22 )
92
+ const fns = [ entropyStringLength , entropyStringLengthNoCrypto ]
93
+ for ( let i = 0 ; i < 2 ; i ++ ) {
94
+ t . is ( fns [ i ] ( 5 , charSet ) , 1 )
95
+ t . is ( fns [ i ] ( 6 , charSet ) , 1 )
96
+ t . is ( fns [ i ] ( 7 , charSet ) , 2 )
97
+ t . is ( fns [ i ] ( 18 , charSet ) , 3 )
98
+ t . is ( fns [ i ] ( 50 , charSet ) , 9 )
99
+ t . is ( fns [ i ] ( 122 , charSet ) , 21 )
100
+ t . is ( fns [ i ] ( 128 , charSet ) , 22 )
101
+ t . is ( fns [ i ] ( 132 , charSet ) , 22 )
102
+ }
100
103
} )
101
104
102
105
test ( 'Char Set 32 string lengths' , t => {
103
106
const charSet = entropy . charSet32
104
- t . is ( entropyStringLength ( 4 , charSet ) , 1 )
105
- t . is ( entropyStringLength ( 5 , charSet ) , 1 )
106
- t . is ( entropyStringLength ( 6 , charSet ) , 2 )
107
- t . is ( entropyStringLength ( 20 , charSet ) , 4 )
108
- t . is ( entropyStringLength ( 32 , charSet ) , 7 )
109
- t . is ( entropyStringLength ( 122 , charSet ) , 25 )
110
- t . is ( entropyStringLength ( 128 , charSet ) , 26 )
111
- t . is ( entropyStringLength ( 130 , charSet ) , 26 )
107
+ const fns = [ entropyStringLength , entropyStringLengthNoCrypto ]
108
+ for ( let i = 0 ; i < 2 ; i ++ ) {
109
+ t . is ( fns [ i ] ( 4 , charSet ) , 1 )
110
+ t . is ( fns [ i ] ( 5 , charSet ) , 1 )
111
+ t . is ( fns [ i ] ( 6 , charSet ) , 2 )
112
+ t . is ( fns [ i ] ( 20 , charSet ) , 4 )
113
+ t . is ( fns [ i ] ( 32 , charSet ) , 7 )
114
+ t . is ( fns [ i ] ( 122 , charSet ) , 25 )
115
+ t . is ( fns [ i ] ( 128 , charSet ) , 26 )
116
+ t . is ( fns [ i ] ( 130 , charSet ) , 26 )
117
+ }
112
118
} )
113
119
114
120
test ( 'Char Set 16 string lengths' , t => {
115
121
const charSet = entropy . charSet16
116
- t . is ( entropyStringLength ( 3 , charSet ) , 1 )
117
- t . is ( entropyStringLength ( 4 , charSet ) , 1 )
118
- t . is ( entropyStringLength ( 5 , charSet ) , 2 )
119
- t . is ( entropyStringLength ( 14 , charSet ) , 4 )
120
- t . is ( entropyStringLength ( 40 , charSet ) , 10 )
121
- t . is ( entropyStringLength ( 122 , charSet ) , 31 )
122
- t . is ( entropyStringLength ( 128 , charSet ) , 32 )
122
+ const fns = [ entropyStringLength , entropyStringLengthNoCrypto ]
123
+ for ( let i = 0 ; i < 2 ; i ++ ) {
124
+ t . is ( fns [ i ] ( 3 , charSet ) , 1 )
125
+ t . is ( fns [ i ] ( 4 , charSet ) , 1 )
126
+ t . is ( fns [ i ] ( 5 , charSet ) , 2 )
127
+ t . is ( fns [ i ] ( 14 , charSet ) , 4 )
128
+ t . is ( fns [ i ] ( 40 , charSet ) , 10 )
129
+ t . is ( fns [ i ] ( 122 , charSet ) , 31 )
130
+ t . is ( fns [ i ] ( 128 , charSet ) , 32 )
131
+ }
123
132
} )
124
133
125
134
test ( 'Char Set 8 string lengths' , t => {
126
135
const charSet = entropy . charSet8
127
- t . is ( entropyStringLength ( 2 , charSet ) , 1 )
128
- t . is ( entropyStringLength ( 3 , charSet ) , 1 )
129
- t . is ( entropyStringLength ( 4 , charSet ) , 2 )
130
- t . is ( entropyStringLength ( 32 , charSet ) , 11 )
131
- t . is ( entropyStringLength ( 48 , charSet ) , 16 )
132
- t . is ( entropyStringLength ( 120 , charSet ) , 40 )
133
- t . is ( entropyStringLength ( 122 , charSet ) , 41 )
134
- t . is ( entropyStringLength ( 128 , charSet ) , 43 )
136
+ const fns = [ entropyStringLength , entropyStringLengthNoCrypto ]
137
+ for ( let i = 0 ; i < 2 ; i ++ ) {
138
+ t . is ( fns [ i ] ( 2 , charSet ) , 1 )
139
+ t . is ( fns [ i ] ( 3 , charSet ) , 1 )
140
+ t . is ( fns [ i ] ( 4 , charSet ) , 2 )
141
+ t . is ( fns [ i ] ( 32 , charSet ) , 11 )
142
+ t . is ( fns [ i ] ( 48 , charSet ) , 16 )
143
+ t . is ( fns [ i ] ( 120 , charSet ) , 40 )
144
+ t . is ( fns [ i ] ( 122 , charSet ) , 41 )
145
+ t . is ( fns [ i ] ( 128 , charSet ) , 43 )
146
+ }
147
+
135
148
} )
136
149
137
150
test ( 'Char Set 4 string lengths' , t => {
138
151
const charSet = entropy . charSet4
139
- t . is ( entropyStringLength ( 1 , charSet ) , 1 )
140
- t . is ( entropyStringLength ( 2 , charSet ) , 1 )
141
- t . is ( entropyStringLength ( 3 , charSet ) , 2 )
142
- t . is ( entropyStringLength ( 32 , charSet ) , 16 )
143
- t . is ( entropyStringLength ( 48 , charSet ) , 24 )
144
- t . is ( entropyStringLength ( 122 , charSet ) , 61 )
145
- t . is ( entropyStringLength ( 128 , charSet ) , 64 )
152
+ const fns = [ entropyStringLength , entropyStringLengthNoCrypto ]
153
+ for ( let i = 0 ; i < 2 ; i ++ ) {
154
+ t . is ( fns [ i ] ( 1 , charSet ) , 1 )
155
+ t . is ( fns [ i ] ( 2 , charSet ) , 1 )
156
+ t . is ( fns [ i ] ( 3 , charSet ) , 2 )
157
+ t . is ( fns [ i ] ( 32 , charSet ) , 16 )
158
+ t . is ( fns [ i ] ( 48 , charSet ) , 24 )
159
+ t . is ( fns [ i ] ( 122 , charSet ) , 61 )
160
+ t . is ( fns [ i ] ( 128 , charSet ) , 64 )
161
+ }
146
162
} )
147
163
148
164
test ( 'Char Set 2 string lengths' , t => {
149
165
const charSet = entropy . charSet2
150
- t . is ( entropyStringLength ( 1 , charSet ) , 1 )
151
- t . is ( entropyStringLength ( 2 , charSet ) , 2 )
152
- t . is ( entropyStringLength ( 3 , charSet ) , 3 )
153
- t . is ( entropyStringLength ( 32 , charSet ) , 32 )
154
- t . is ( entropyStringLength ( 48 , charSet ) , 48 )
155
- t . is ( entropyStringLength ( 122 , charSet ) , 122 )
156
- t . is ( entropyStringLength ( 128 , charSet ) , 128 )
166
+ const fns = [ entropyStringLength , entropyStringLengthNoCrypto ]
167
+ for ( let i = 0 ; i < 2 ; i ++ ) {
168
+ t . is ( fns [ i ] ( 1 , charSet ) , 1 )
169
+ t . is ( fns [ i ] ( 2 , charSet ) , 2 )
170
+ t . is ( fns [ i ] ( 3 , charSet ) , 3 )
171
+ t . is ( fns [ i ] ( 32 , charSet ) , 32 )
172
+ t . is ( fns [ i ] ( 48 , charSet ) , 48 )
173
+ t . is ( fns [ i ] ( 122 , charSet ) , 122 )
174
+ t . is ( fns [ i ] ( 128 , charSet ) , 128 )
175
+ }
157
176
} )
158
177
159
178
test ( 'Bits using total, risk' , t => {
@@ -548,6 +567,12 @@ test('Custom 2 chars', t => {
548
567
}
549
568
} )
550
569
570
+ test ( 'No crypto' , t => {
571
+ let charSet = entropy . charSet32
572
+ t . is ( entropyStringLengthNoCrypto ( 5 , charSet ) , 1 )
573
+ t . is ( entropyStringLengthNoCrypto ( 6 , charSet ) , 2 )
574
+ } )
575
+
551
576
const entropyString = ( bits , charSet , arr ) => {
552
577
let bytes = Buffer . from ( arr )
553
578
return entropy . randomStringWithBytes ( bits , charSet , bytes )
@@ -557,6 +582,10 @@ const entropyStringLength = (bits, charSet) => {
557
582
return entropy . randomString ( bits , charSet ) . length
558
583
}
559
584
585
+ const entropyStringLengthNoCrypto = ( bits , charSet ) => {
586
+ return entropy . randomString ( bits , charSet , false ) . length
587
+ }
588
+
560
589
const bitsStringLength = ( total , risk , charSet ) => {
561
590
return entropyStringLength ( entropy . bits ( total , risk ) , charSet )
562
591
}
0 commit comments