aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesús <heckyel@hyperbola.info>2021-02-18 22:54:49 -0500
committerJesús <heckyel@hyperbola.info>2021-02-18 22:54:49 -0500
commit3f5f3ae41e75f1974d7bb97d45782b064d3fe7a9 (patch)
treeda516990b16153c4729887c8dd1e414ac6b8a1c9
downloadgen-pass-3f5f3ae41e75f1974d7bb97d45782b064d3fe7a9.tar.lz
gen-pass-3f5f3ae41e75f1974d7bb97d45782b064d3fe7a9.tar.xz
gen-pass-3f5f3ae41e75f1974d7bb97d45782b064d3fe7a9.zip
initial import
-rw-r--r--.gitignore1
-rw-r--r--README.md15
-rw-r--r--gen-pw.rb19
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)