krypton 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: df8d76a7d0868d48cb51b7c73c616ca50a22d804
4
- data.tar.gz: 114459207d514a6c5d60de262967576f5302622a
3
+ metadata.gz: '0579a4d313ef1b13224ab7d42dffdb73df94c513'
4
+ data.tar.gz: 0ccccc6b88bf586c28e973763697029fc3cd872f
5
5
  SHA512:
6
- metadata.gz: 3dcd5bdb5539898a6bfdc5054572ffcdc3b8a60ba85a12f8a8024466538eb0958ab4eb8ee68ec63a3bcc5e5414276ea7a821ce8bdf64ed158552ce1f907f62a0
7
- data.tar.gz: 56923959b8abfca059c9ddbcb641fa2eb6230c66421f989737f12cc1325471e9878269e76be707160113ee69665319f2116d1a8b7422ecff35922638d80049f5
6
+ metadata.gz: 6983bd2935cee13d0323891201ccbc0d719ea62b3bad88531e69b561f255f75d3a289e8d6e1d1e29ba769fa7085737ded596db3ae5e8152d4447d758ee66423c
7
+ data.tar.gz: 122c0be4b72fc4f0e4040d262e8f7f55250da9d2f6beb791f5dec92a7dcd5898561ecd83ecfde26103bebd6866a9f3faf17900e581f6a7abd25e791403db73d9
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- krypton (0.1.5)
4
+ krypton (0.1.6)
5
5
  aes
6
6
  colorize
7
7
  commander
@@ -28,6 +28,10 @@ OptionParser.new do |opts|
28
28
  options[:raw] = true
29
29
  end
30
30
 
31
+ opts.on('-u', '--urlsafe', 'Make output data URL safe (base64)') do
32
+ options[:urlsafe] = true
33
+ end
34
+
31
35
  opts.on('--verbose', 'Run verbosely') do
32
36
  $verbose = true
33
37
  end
@@ -47,6 +51,7 @@ OptionParser.new do |opts|
47
51
 
48
52
  end.parse!(ARGV)
49
53
 
54
+ # Tasks loop
50
55
  while (opt = ARGV.shift) do
51
56
  case opt
52
57
 
@@ -68,6 +73,7 @@ while (opt = ARGV.shift) do
68
73
  end
69
74
  exit 0
70
75
 
76
+
71
77
  # HASHING
72
78
  when 'hash'
73
79
 
@@ -81,8 +87,10 @@ while (opt = ARGV.shift) do
81
87
  puts "#{data + ' => '}#{Paint[result.strip, '#2ecc71']}"
82
88
  end
83
89
  exit 0
90
+
84
91
  when 'uuid'
85
92
  puts Paint[SecureRandom.uuid, '#2ecc71']
93
+
86
94
  when 'totp'
87
95
  if ARGV.length == 2
88
96
  puts "You need a secret to generate a totp."
@@ -96,6 +104,25 @@ while (opt = ARGV.shift) do
96
104
  end
97
105
  exit 0
98
106
  end
107
+
108
+ when 'b64e'
109
+ data = ARGV[ARGV.length - 1] || gets
110
+ if options[:std]
111
+ puts Krypton::B64.encode(data, options[:urlsafe])
112
+ else
113
+ puts "#{data + ' => ' + Paint[Krypton::B64.encode(data, options[:urlsafe]),'#2ecc71']}"
114
+ end
115
+ exit 0
116
+
117
+ when 'b64d'
118
+ data = ARGV[ARGV.length - 1] || gets
119
+ if options[:std]
120
+ puts Krypton::B64.decode(data, options[:urlsafe])
121
+ else
122
+ puts "#{data + ' => ' + Paint[Krypton::B64.decode(data, options[:urlsafe]),'#2ecc71']}"
123
+ end
124
+ exit 0
125
+
99
126
  else
100
127
  puts "#{opt} is not a valid action!"
101
128
  exit 1
@@ -7,8 +7,9 @@ require 'rotp'
7
7
 
8
8
  # lib files
9
9
  require_relative './core/constants.rb'
10
- require_relative './core/aes.rb'
10
+ require_relative './core/base64.rb'
11
11
  require_relative './core/text.rb'
12
+ require_relative './core/aes.rb'
12
13
  require_relative './core/sha.rb'
13
14
 
14
15
  module Krypton
@@ -0,0 +1,12 @@
1
+ module Krypton
2
+ # This class contains wrapper functions around the '[en|de]code64 functions in the 'base64' library
3
+ class B64
4
+ def self.encode(data, urlsafe=false)
5
+ urlsafe ? Base64.urlsafe_encode64(data) : Base64.encode64(data)
6
+ end
7
+
8
+ def self.decode(data, urlsafe=false)
9
+ urlsafe ? Base64.urlsafe_decode64(data) : Base64.decode64(data)
10
+ end
11
+ end
12
+ end
@@ -1,4 +1,4 @@
1
- VERSION = "0.1.6"
1
+ VERSION = "0.1.7"
2
2
  AUTHORS = {
3
3
  'Carter Brainerd' => '0xCB[at]protonmail[dot]com'
4
4
  }
@@ -9,9 +9,11 @@ TASKS_HELP =
9
9
  hash Hash a given message with SHA256.
10
10
  uuid Generate a random UUID.
11
11
  totp Generate a Time-based One Time Password.
12
+ b64e Encode data in base64
13
+ b64d Decode base64 data
12
14
 
13
15
  #{Paint['Examples', '#95a5a6']}
14
16
  #{Paint['$ krypton encrypt "mymessage" "mykey"', '#2ecc71']} #{Paint['=> ckhJWXcyTE1leENLOWpBQzJWbElMdz09Cg==', '#95a5a6']}
15
17
  #{Paint['$ krypton hash "mymessage"', '#2ecc71']} => #{Paint['S3ONp9WM7/rCMeuUnvWDzp5dxbuSVsOV6bI5AJvRqCc=', '#95a5a6']}
16
- #{Paint['$ krypton totp "mygreatsecret"']} => #{Paint['778501', '#95a5a6']}
18
+ #{Paint['$ krypton totp "mygreatsecret"', '#2ecc71']} => #{Paint['778501', '#95a5a6']}
17
19
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: krypton
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - cbrnrd
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-31 00:00:00.000000000 Z
11
+ date: 2018-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -146,6 +146,7 @@ files:
146
146
  - krypton.gemspec
147
147
  - lib/core.rb
148
148
  - lib/core/aes.rb
149
+ - lib/core/base64.rb
149
150
  - lib/core/constants.rb
150
151
  - lib/core/sha.rb
151
152
  - lib/core/text.rb