hulawho
Version:
hulawho api
46 lines (37 loc) • 942 B
JavaScript
var crypto = require('crypto')
var scrypt = require('scrypt')
exports.sha256 = function(data) {
var hash = crypto.createHash('sha256')
hash.update(data)
return hash.digest('hex')
}
exports.generateKdf = function(data, callback) {
scrypt.params(0.1, function(err, scryptParameters) {
scrypt.kdf(data, scryptParameters, function(err, res){
if(err) {
callback(err)
return
}
callback(null, res.toString('hex'))
})
})
}
exports.verifyKdf = function(kdf, data, callback) {
scrypt.verifyKdf(new Buffer(kdf, 'hex'), data, function(err, res){
if(err) {
callback(err)
return
}
callback(null, res)
})
}
exports.generatePasswordResetCode = exports.generateLeagueCode = function(callback) {
crypto.randomBytes(32, function(err, res) {
if(err) {
callback(err)
return
}
var hexString = res.toString('hex')
callback(null, hexString)
})
}