Skip to content

Instantly share code, notes, and snippets.

@andrewfinnell
Last active April 19, 2018 22:53
Show Gist options
  • Select an option

  • Save andrewfinnell/501af27a1321d520b76104e5c9fa39f3 to your computer and use it in GitHub Desktop.

Select an option

Save andrewfinnell/501af27a1321d520b76104e5c9fa39f3 to your computer and use it in GitHub Desktop.
Demonstration of Buffer and Secure Password generating different results even when the input is the same.
const sp = require('secure-password');
const pwd = sp();
var b1 = Buffer.from('Apples13');
var b2 = Buffer.from('Apples13');
var h1 = pwd.hashSync(b1);
var h2 = pwd.hashSync(b2);
var c1 = h1.toString('base64');
var c2 = h2.toString('base64');
var r1 = Buffer.from(c1, 'base64');
var r2 = Buffer.from(c2, 'base64');
console.log({
h1,
h2,
c1,
c2,
r1,
r2,
compare1: Buffer.compare(b1, b2) === 0 ? "compare1 Success" : "compare1 Fail",
compare2: Buffer.compare(r1, r2) === 0 ? "compare1 Success" : "compare1 Fail",
verify_b1_h1: pwd.verifySync(b1, h1),
verify_b2_h1: pwd.verifySync(b2, h1),
verify_b1_h2: pwd.verifySync(b1, h2),
verify_b2_h2: pwd.verifySync(b2, h2),
verify_r1_r2: pwd.verifySync(r1, r2)
})
@andrewfinnell
Copy link
Author

andrewfinnell commented Apr 19, 2018

{ h1: <Buffer 24 61 72 67 6f 6e 32 69 64 24 76 3d 31 39 24 6d 3d 36 35 35 33 36 2c 74 3d 32 2c 70 3d 31 24 2b 4d 63 48 4c 70 31 52 4a 65 47 31 35 45 32
37 4e 41 35 ... >,
  h2: <Buffer 24 61 72 67 6f 6e 32 69 64 24 76 3d 31 39 24 6d 3d 36 35 35 33 36 2c 74 3d 32 2c 70 3d 31 24 56 47 77 59 56 42 57 76 75 41 35 75 33 49 47
31 6d 70 48 ... >,
  c1: 'JGFyZ29uMmlkJHY9MTkkbT02NTUzNix0PTIscD0xJCtNY0hMcDFSSmVHMTVFMjdOQTVWSnckK0p1TE5yREt5R3NHZUVYQ3ExcDFlUVphWWVSczRYU3RneUpDODZ5YTJmawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',
  c2: 'JGFyZ29uMmlkJHY9MTkkbT02NTUzNix0PTIscD0xJFZHd1lWQld2dUE1dTNJRzFtcEhSeWckd1RWbUliUmpIMWZoVFhsczZ5Q243c0dvaFB5bUo3UDhHOVpBYy9KMDh5YwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',
  r1: <Buffer 24 61 72 67 6f 6e 32 69 64 24 76 3d 31 39 24 6d 3d 36 35 35 33 36 2c 74 3d 32 2c 70 3d 31 24 2b 4d 63 48 4c 70 31 52 4a 65 47 31 35 45 32
37 4e 41 35 ... >,
  r2: <Buffer 24 61 72 67 6f 6e 32 69 64 24 76 3d 31 39 24 6d 3d 36 35 35 33 36 2c 74 3d 32 2c 70 3d 31 24 56 47 77 59 56 42 57 76 75 41 35 75 33 49 47
31 6d 70 48 ... >,
  compare1: 'compare1 Success',
  compare2: 'compare1 Fail',
  verify_b1_h1: Symbol(VALID),
  verify_b2_h1: Symbol(VALID),
  verify_b1_h2: Symbol(VALID),
  verify_b2_h2: Symbol(VALID),
  verify_r1_r2: Symbol(INVALID) }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment