forked from dsh/panel-auth
20 lines
704 B
JavaScript
20 lines
704 B
JavaScript
#!/usr/bin/env node
|
|
// Usage:
|
|
// node hash.js <username> <password> → prints the cordis.patch.yml user entry
|
|
// node hash.js --secret → prints a random signing secret
|
|
import { hashPassword } from './crypto.js'
|
|
import { randomBytes } from 'node:crypto'
|
|
|
|
const argv = process.argv.slice(2)
|
|
if (argv[0] === '--secret') {
|
|
console.log(randomBytes(32).toString('hex'))
|
|
process.exit(0)
|
|
}
|
|
const [username, password] = argv
|
|
if (!username || password === undefined) {
|
|
console.error('usage: node hash.js <username> <password>')
|
|
console.error(' node hash.js --secret')
|
|
process.exit(1)
|
|
}
|
|
console.log(` - username: ${username}\n passwordHash: '${hashPassword(password)}'`)
|