diff options
author | Jesús <heckyel@hyperbola.info> | 2021-02-18 22:54:49 -0500 |
---|---|---|
committer | Jesús <heckyel@hyperbola.info> | 2021-02-18 22:54:49 -0500 |
commit | 3f5f3ae41e75f1974d7bb97d45782b064d3fe7a9 (patch) | |
tree | da516990b16153c4729887c8dd1e414ac6b8a1c9 | |
download | gen-pass-3f5f3ae41e75f1974d7bb97d45782b064d3fe7a9.tar.lz gen-pass-3f5f3ae41e75f1974d7bb97d45782b064d3fe7a9.tar.xz gen-pass-3f5f3ae41e75f1974d7bb97d45782b064d3fe7a9.zip |
initial import
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | README.md | 15 | ||||
-rw-r--r-- | gen-pw.rb | 19 |
3 files changed, 35 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6262a88 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.__backups__ diff --git a/README.md b/README.md new file mode 100644 index 0000000..8ddc3ee --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +gen-pass +======== + +Generate password from simple pass + +usage +===== + + $ ruby gen-pw.rb user1 example1.com 25 + + +Ouput: + + Passphrase: demo + 74OJ249aMWaEHQX1QdAagUUnx diff --git a/gen-pw.rb b/gen-pw.rb new file mode 100644 index 0000000..b0512fd --- /dev/null +++ b/gen-pw.rb @@ -0,0 +1,19 @@ +#!/usr/bin/env ruby + +require 'io/console' +require 'openssl' +require 'base64' + +username = ARGV.shift +url = ARGV.shift +length = ARGV.shift.to_i + +print('Passphrase: '); +passphrase = STDIN.noecho(&:gets).chomp; print("\n") + +salt = "#{username}@#{url}" +iterations = 5000 +digest = OpenSSL::Digest::SHA512.new +pbkdf2 = OpenSSL::PKCS5.pbkdf2_hmac(passphrase, salt, iterations, length, digest) +password = Base64.encode64(pbkdf2).chomp[0..length-1] +puts(password) |