1.0.254 • Published 18 hours ago

@sequencemedia/pbkdf2 v1.0.254

Weekly downloads
-
License
ISC
Repository
github
Last release
18 hours ago

@sequencemedia/pbkdf2

Compare a given password to a hash and salt

Exposes the crypto pbkdf2 utilities as async functions for Node and the shell

ES functions are exported from the package root alongside a TS definition

Password validation by hash and salt comparison

A password can be compared with a hash and salt (and the number of iterations that were used to compute it) to determine whether it is valid

The ES functions expect the same argument types as the underlying Node utilities

  • The hash is a Buffer
  • The salt is a Buffer
  • iterations is a Number
  • keylen is a Number
  • digest is a String

Etc.

compare

The password is expected as the first argument, while the others are fields on a params object

const isValid = await compare(password, {
  hash,
  salt,
  iterations,
  keylen,
  digest
})

hash

As with compare, the password is expected as the first argument, while the others are fields on a params object (except for hash which can of course be omitted)

const value = await hash(password, {
  hash,
  iterations,
  keylen,
  digest
})

salt

An async wrapper around crypto.randomBytes() to generate a salt of the salt size

const value = await salt(size)

In the shell

Scripts are exposed to npm in the package and each script can of course be invoked from the command line directly in the shell

{
  "compare": "node scripts/compare.mjs",
  "hash": "node scripts/hash.mjs",
  "salt": "node scripts/salt.mjs"
}

Where required, both the hash and salt arguments are expected from the command line to be strings in Base64 format. Both iterations and keylen are coerced from strings to numbers

npm run compare -- \
  --password <PASSWORD> \
  --hash <HASH> \
  --salt <SALT> \
  --keylen <KEY LENGTH> \
  --iterations <ITERATIONS> \
  --digest <DIGEST>
node ./scripts/compare.mjs \
  --password <PASSWORD> \
  --hash <HASH> \
  --salt <SALT> \
  --keylen <KEY LENGTH> \
  --iterations <ITERATIONS> \
  --digest <DIGEST>

Etc.

  • The hash is decoded from a Base64 String to a Buffer
  • The salt is decoded from a Base64 String to a Buffer

Tests

npm test
./compare.sh
1.0.254

18 hours ago

1.0.253

2 days ago

1.0.252

4 days ago

1.0.251

9 days ago

1.0.250

11 days ago

1.0.249

24 days ago

1.0.248

30 days ago

1.0.247

1 month ago

1.0.246

1 month ago

1.0.245

1 month ago

1.0.244

1 month ago

1.0.243

1 month ago

1.0.242

2 months ago

1.0.241

2 months ago

1.0.240

2 months ago

1.0.239

2 months ago

1.0.238

2 months ago

1.0.237

2 months ago

1.0.236

2 months ago

1.0.235

2 months ago

1.0.233

2 months ago

1.0.234

2 months ago

1.0.231

3 months ago

1.0.232

3 months ago

1.0.230

3 months ago

1.0.229

3 months ago

1.0.228

3 months ago

1.0.227

3 months ago

1.0.226

3 months ago

1.0.225

3 months ago

1.0.224

3 months ago

1.0.222

3 months ago

1.0.223

3 months ago

1.0.221

3 months ago

1.0.220

3 months ago

1.0.219

4 months ago

1.0.218

4 months ago

1.0.217

4 months ago

1.0.216

4 months ago

1.0.215

4 months ago

1.0.214

4 months ago

1.0.213

4 months ago

1.0.212

4 months ago

1.0.211

5 months ago

1.0.210

5 months ago

1.0.209

5 months ago

1.0.208

5 months ago

1.0.207

5 months ago

1.0.200

6 months ago

1.0.206

5 months ago

1.0.205

5 months ago

1.0.202

6 months ago

1.0.201

6 months ago

1.0.204

5 months ago

1.0.203

5 months ago

1.0.187

7 months ago

1.0.186

7 months ago

1.0.189

7 months ago

1.0.188

7 months ago

1.0.183

7 months ago

1.0.182

7 months ago

1.0.185

7 months ago

1.0.184

7 months ago

1.0.181

7 months ago

1.0.180

7 months ago

1.0.176

7 months ago

1.0.175

8 months ago

1.0.178

7 months ago

1.0.177

7 months ago

1.0.172

8 months ago

1.0.171

8 months ago

1.0.174

8 months ago

1.0.173

8 months ago

1.0.179

7 months ago

1.0.170

8 months ago

1.0.198

6 months ago

1.0.197

6 months ago

1.0.199

6 months ago

1.0.194

6 months ago

1.0.193

6 months ago

1.0.196

6 months ago

1.0.195

6 months ago

1.0.190

6 months ago

1.0.192

6 months ago

1.0.191

6 months ago

1.0.143

10 months ago

1.0.142

10 months ago

1.0.145

10 months ago

1.0.144

10 months ago

1.0.141

10 months ago

1.0.140

10 months ago

1.0.147

10 months ago

1.0.146

10 months ago

1.0.149

10 months ago

1.0.148

10 months ago

1.0.139

10 months ago

1.0.136

11 months ago

1.0.135

11 months ago

1.0.138

10 months ago

1.0.137

10 months ago

1.0.165

8 months ago

1.0.164

8 months ago

1.0.167

8 months ago

1.0.166

8 months ago

1.0.161

9 months ago

1.0.160

9 months ago

1.0.163

8 months ago

1.0.162

8 months ago

1.0.169

8 months ago

1.0.168

8 months ago

1.0.154

9 months ago

1.0.153

9 months ago

1.0.156

9 months ago

1.0.155

9 months ago

1.0.150

9 months ago

1.0.152

9 months ago

1.0.151

9 months ago

1.0.158

9 months ago

1.0.157

9 months ago

1.0.159

9 months ago

1.0.132

11 months ago

1.0.131

11 months ago

1.0.134

11 months ago

1.0.133

11 months ago

1.0.130

11 months ago

1.0.101

1 year ago

1.0.100

1 year ago

1.0.107

12 months ago

1.0.106

1 year ago

1.0.109

12 months ago

1.0.108

12 months ago

1.0.103

1 year ago

1.0.102

1 year ago

1.0.105

1 year ago

1.0.104

1 year ago

1.0.121

12 months ago

1.0.120

12 months ago

1.0.123

12 months ago

1.0.122

12 months ago

1.0.129

11 months ago

1.0.128

11 months ago

1.0.125

11 months ago

1.0.124

11 months ago

1.0.127

11 months ago

1.0.126

11 months ago

1.0.110

12 months ago

1.0.112

12 months ago

1.0.111

12 months ago

1.0.118

12 months ago

1.0.117

12 months ago

1.0.119

12 months ago

1.0.114

12 months ago

1.0.113

12 months ago

1.0.116

12 months ago

1.0.115

12 months ago

1.0.99

1 year ago

1.0.98

1 year ago

1.0.97

1 year ago

1.0.66

1 year ago

1.0.65

1 year ago

1.0.64

1 year ago

1.0.63

1 year ago

1.0.69

1 year ago

1.0.68

1 year ago

1.0.67

1 year ago

1.0.73

1 year ago

1.0.72

1 year ago

1.0.71

1 year ago

1.0.70

1 year ago

1.0.77

1 year ago

1.0.76

1 year ago

1.0.75

1 year ago

1.0.74

1 year ago

1.0.79

1 year ago

1.0.78

1 year ago

1.0.80

1 year ago

1.0.84

1 year ago

1.0.83

1 year ago

1.0.82

1 year ago

1.0.81

1 year ago

1.0.88

1 year ago

1.0.44

1 year ago

1.0.87

1 year ago

1.0.43

1 year ago

1.0.86

1 year ago

1.0.42

1 year ago

1.0.85

1 year ago

1.0.48

1 year ago

1.0.47

1 year ago

1.0.46

1 year ago

1.0.89

1 year ago

1.0.45

1 year ago

1.0.49

1 year ago

1.0.91

1 year ago

1.0.90

1 year ago

1.0.51

1 year ago

1.0.50

1 year ago

1.0.93

1 year ago

1.0.92

1 year ago

1.0.55

1 year ago

1.0.54

1 year ago

1.0.53

1 year ago

1.0.52

1 year ago

1.0.59

1 year ago

1.0.58

1 year ago

1.0.57

1 year ago

1.0.56

1 year ago

1.0.19

1 year ago

1.0.18

1 year ago

1.0.39

1 year ago

1.0.17

1 year ago

1.0.38

1 year ago

1.0.16

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.40

1 year ago

1.0.22

1 year ago

1.0.21

1 year ago

1.0.20

1 year ago

1.0.41

1 year ago

1.0.26

1 year ago

1.0.25

1 year ago

1.0.24

1 year ago

1.0.23

1 year ago

1.0.29

1 year ago

1.0.28

1 year ago

1.0.27

1 year ago

1.0.33

1 year ago

1.0.11

1 year ago

1.0.32

1 year ago

1.0.10

1 year ago

1.0.31

1 year ago

1.0.30

1 year ago

1.0.37

1 year ago

1.0.15

1 year ago

1.0.36

1 year ago

1.0.14

1 year ago

1.0.35

1 year ago

1.0.13

1 year ago

1.0.34

1 year ago

1.0.12

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago