1
0
Fork 0
mirror of https://github.com/Luzifer/password.git synced 2024-11-09 18:00:03 +00:00
Fast and secure password generator and library
Find a file
2017-09-22 15:35:56 +02:00
frontend Added links to extension & documentation 2015-05-10 18:56:43 +02:00
lib Fix: Blacklisted characters were not excluded from passwords 2015-05-10 19:05:34 +02:00
vendor/github.com Vendor dependencies 2017-09-22 15:28:56 +02:00
.gitignore Initial running version 2015-05-02 15:03:27 +02:00
.repo-runner.yaml Add Github release publishing 2017-09-22 15:30:14 +02:00
.travis.yml Fix: Travis did no go get anymore 2015-05-10 16:45:12 +02:00
bindata.go Added links to extension & documentation 2015-05-10 18:56:43 +02:00
cmdGet.go Replaced codegangsta/cli by spf13/cobra 2015-05-29 20:20:04 +02:00
cmdServe.go Replaced codegangsta/cli by spf13/cobra 2015-05-29 20:20:04 +02:00
cmdVersion.go Replaced codegangsta/cli by spf13/cobra 2015-05-29 20:20:04 +02:00
Dockerfile Update Dockerfile to golang:alpine template 2017-09-22 15:27:18 +02:00
flags.go Replaced codegangsta/cli by spf13/cobra 2015-05-29 20:20:04 +02:00
Gopkg.lock Vendor dependencies 2017-09-22 15:28:56 +02:00
Gopkg.toml Vendor dependencies 2017-09-22 15:28:56 +02:00
History.md prepare release v1.4.0 2017-09-22 15:35:56 +02:00
LICENSE Replace Apache license stub with proper license 2017-09-22 15:32:49 +02:00
main.go Remove static versioning 2017-09-22 15:29:21 +02:00
Makefile Add Github release publishing 2017-09-22 15:30:14 +02:00
README.md Add buttons to README 2017-09-22 15:34:55 +02:00

Go Report Card

Luzifer / password

This project is a rewrite of my former password generator written in Python. The intention is to provide a fast and secure way to generate one or more passwords using a CLI tool, a HTTPs page or a HTTPs API.

Usage

Via Web

My service Secure Password is powered by this app and will provide you with secure passwords.

Via CLI

  1. Download the compiled binary from Github releases

  2. Generate your password:

    # ./password get -h
    NAME:
      get - generate and return a secure random password
    
    USAGE:
      command get [command options] [arguments...]
    
    OPTIONS:
      --length, -l "20"	length of the generated password
      --special, -s	use special characters in your password
    
    # ./password get
    Vzupi4IaPbXmSQEX9A4e
    
    # ./password get -l 32 -s
    }d.sks(4J$2G]x52=k)WAN{M68LxEg}%
    

Via API

  • /v1/getPassword - Retrieve a password from the API
    • length=20 - Specify the length of the password to generate
    • special=false - Set to true to enable special characters

Self-Hosted

  1. Download the compiled binary from Github releases

  2. Run the API server:

    # ./password serve -h
    NAME:
      serve - start an API server to request passwords
    
    USAGE:
      command serve [command options] [arguments...]
    
    OPTIONS:
      --port "3000"	port to listen on
    
  3. Request your password using http://localhost:3000/v1/getPassword?length=20&special=true

Hosted

# curl https://pwd.luzifer.io/v1/getPassword?length=20&special=true
0M4L-1[lT:@2&7,p,o-;

Benchmark / Test

Tests and benchmark are run by Travis CI at every push to this repository:

Build Status

# go test -bench .
PASS
BenchmarkGeneratePasswords8Char           20000       74875 ns/op
BenchmarkGeneratePasswords8CharSpecial    10000      108451 ns/op
BenchmarkGeneratePasswords16Char          10000      135059 ns/op
BenchmarkGeneratePasswords16CharSpecial   10000      142958 ns/op
BenchmarkGeneratePasswords32Char           5000      307994 ns/op
BenchmarkGeneratePasswords32CharSpecial    5000      284031 ns/op
BenchmarkGeneratePasswords128Char           300     6721034 ns/op
BenchmarkGeneratePasswords128CharSpecial    500     3244446 ns/op
ok  	github.com/Luzifer/password/lib	13.764s