|
1 | | -import path from "node:path"; |
2 | | -import fs from "node:fs"; |
3 | 1 | import assert from "node:assert"; |
4 | | -import { fileURLToPath } from "node:url"; |
5 | | - |
6 | | -import binding from "bcrypt"; |
| 2 | +import bcryptcpp from "bcrypt"; |
7 | 3 | import bcrypt from "../index.js"; |
8 | 4 |
|
9 | | -const __dirname = path.dirname(fileURLToPath(import.meta.url)); |
10 | | - |
11 | 5 | const tests = [ |
12 | 6 | function encodeBase64(done) { |
13 | 7 | var str = bcrypt.encodeBase64( |
@@ -177,27 +171,45 @@ const tests = [ |
177 | 171 | }, |
178 | 172 | ); |
179 | 173 | }, |
180 | | - function compat_quickbrown(done) { |
181 | | - var pass = fs.readFileSync(path.join(__dirname, "quickbrown.txt")) + "", |
182 | | - salt = bcrypt.genSaltSync(), |
183 | | - hash1 = binding.hashSync(pass, salt), |
184 | | - hash2 = bcrypt.hashSync(pass, salt); |
185 | | - assert.equal(hash1, hash2); |
| 174 | + function compat_hash(done) { |
| 175 | + var pass = [ |
| 176 | + " space ", |
| 177 | + "Heizölrückstoßabdämpfung", |
| 178 | + "Ξεσκεπάζω τὴν ψυχοφθόρα βδελυγμία", |
| 179 | + "El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y ", |
| 180 | + "Où l'obèse jury mûr", |
| 181 | + "Úrmhac na hÓighe Beannaithe", |
| 182 | + "Árvíztűrő tükörfúrógép", |
| 183 | + "Sævör grét áðan því úlpan var ónýt", |
| 184 | + "わかよたれそつねならむ", |
| 185 | + "ケフコエテ アサキユメミシ", |
| 186 | + "דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה", |
| 187 | + "Pchnąć w tę łódź jeża lub ośm skrzyń fig", |
| 188 | + "В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!", |
| 189 | + "๏ เป็นมนุษย์สุดประเสริฐเลิศคุณค่า", |
| 190 | + "Pijamalı hasta, yağız şoföre çabucak güvendi.", |
| 191 | + ]; |
| 192 | + for (var i = 0; i < pass.length; i++) { |
| 193 | + var salt = bcrypt.genSaltSync(), |
| 194 | + hash1 = bcryptcpp.hashSync(pass[i], salt), |
| 195 | + hash2 = bcrypt.hashSync(pass[i], salt); |
| 196 | + assert.equal(hash1, hash2); |
| 197 | + } |
186 | 198 | done(); |
187 | 199 | }, |
188 | 200 | function compat_roundsOOB(done) { |
189 | 201 | var salt1 = bcrypt.genSaltSync(0), // $10$ like not set |
190 | | - salt2 = binding.genSaltSync(0); |
| 202 | + salt2 = bcryptcpp.genSaltSync(0); |
191 | 203 | assert.strictEqual(salt1.substring(0, 7), "$2b$10$"); |
192 | 204 | assert.strictEqual(salt2.substring(0, 7), "$2b$10$"); |
193 | 205 |
|
194 | 206 | salt1 = bcrypt.genSaltSync(3); // $04$ is lower cap |
195 | | - salt2 = bcrypt.genSaltSync(3); |
| 207 | + salt2 = bcryptcpp.genSaltSync(3); |
196 | 208 | assert.strictEqual(salt1.substring(0, 7), "$2b$04$"); |
197 | 209 | assert.strictEqual(salt2.substring(0, 7), "$2b$04$"); |
198 | 210 |
|
199 | 211 | salt1 = bcrypt.genSaltSync(32); // $31$ is upper cap |
200 | | - salt2 = bcrypt.genSaltSync(32); |
| 212 | + salt2 = bcryptcpp.genSaltSync(32); |
201 | 213 | assert.strictEqual(salt1.substring(0, 7), "$2b$31$"); |
202 | 214 | assert.strictEqual(salt2.substring(0, 7), "$2b$31$"); |
203 | 215 |
|
|
0 commit comments