crumbl 0.0.1 → 0.0.2
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 +4 -4
- data/bin/crumbl +12 -10
- data/lib/crumbl/base.rb +4 -8
- data/lib/crumbl/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3b8dd0f98053b98e04343c60659836908c22ef6
|
4
|
+
data.tar.gz: fe1bf8a3c123ac1650989dcd5712bf6e0a70d669
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 813d43fa0cf1b6f070b8cbe0c24a5d3d1b17029422de9e40d28e0e54e340bf2c85245fad93bace746077d11046c4a408bb9047da6074e4d1c77806cb7cc38f39
|
7
|
+
data.tar.gz: 236ca9d70db70d6ee5192c723086a69620b8725c0845fbad8547e64b414124967cfdea1eff974dd8327b2d11ecb95e32c5503e1488d49a9728816244e679b9bb
|
data/bin/crumbl
CHANGED
@@ -12,28 +12,30 @@ end
|
|
12
12
|
class CrumblCmd < Thor
|
13
13
|
desc "decode [COOKIE]", "Decode a Rails 3 cookie [COOKIE]"
|
14
14
|
def decode(cookie)
|
15
|
-
Crumbl.decode cookie
|
15
|
+
puts Crumbl.decode cookie
|
16
16
|
end
|
17
17
|
|
18
|
-
desc "encode [
|
19
|
-
|
20
|
-
|
18
|
+
desc "encode [KEY] --data [DATA]", "Encode [DATA] as a Rails 3 cookie signed with secret key [KEY]"
|
19
|
+
method_option :data, :aliases => "-d", :type => :hash, :required => true
|
20
|
+
def encode(key)
|
21
|
+
puts Crumbl.encode options[:data], key
|
21
22
|
end
|
22
23
|
|
23
|
-
desc "decrypt [
|
24
|
+
desc "decrypt [KEY BASE] [COOKIE]", "Decrypt Rails 4 [COOKIE] using secret key base [KEY BASE]"
|
24
25
|
method_option :iterations, :aliases => "-i", :default => Crumbl::DEFAULT_ITERATIONS, :type => :numeric
|
25
26
|
method_option :encrypted_cookie_salt, :aliases => "-e", :default => Crumbl::DEFAULT_ENCRYPTED_COOKIE_SALT
|
26
27
|
method_option :encrypted_signed_cookie_salt, :aliases => "-s", :default => Crumbl::DEFAULT_ENCRYPTED_SIGNED_COOKIE_SALT
|
27
|
-
def decrypt(
|
28
|
-
Crumbl.decrypt cookie, secret_key_base, options[:iterations], options[:encrypted_cookie_salt], options[:encrypted_signed_cookie_salt]
|
28
|
+
def decrypt(secret_key_base, cookie)
|
29
|
+
puts Crumbl.decrypt cookie, secret_key_base, options[:iterations], options[:encrypted_cookie_salt], options[:encrypted_signed_cookie_salt]
|
29
30
|
end
|
30
31
|
|
31
|
-
desc "encrypt [
|
32
|
+
desc "encrypt [KEY BASE] --data [DATA]", "Encrypt Rails 4 [DATA] using secret key base [KEY BASE]"
|
33
|
+
method_option :data, :aliases => "-d", :type => :hash, :required => true
|
32
34
|
method_option :iterations, :aliases => "-i", :default => Crumbl::DEFAULT_ITERATIONS, :type => :numeric
|
33
35
|
method_option :encrypted_cookie_salt, :aliases => "-e", :default => Crumbl::DEFAULT_ENCRYPTED_COOKIE_SALT
|
34
36
|
method_option :encrypted_signed_cookie_salt, :aliases => "-s", :default => Crumbl::DEFAULT_ENCRYPTED_SIGNED_COOKIE_SALT
|
35
|
-
def encrypt(
|
36
|
-
Crumbl.encrypt data, secret_key_base, options[:iterations], options[:encrypted_cookie_salt], options[:encrypted_signed_cookie_salt]
|
37
|
+
def encrypt(secret_key_base)
|
38
|
+
puts Crumbl.encrypt options[:data], secret_key_base, options[:iterations], options[:encrypted_cookie_salt], options[:encrypted_signed_cookie_salt]
|
37
39
|
end
|
38
40
|
end
|
39
41
|
|
data/lib/crumbl/base.rb
CHANGED
@@ -8,14 +8,12 @@ class Crumbl
|
|
8
8
|
DEFAULT_ENCRYPTED_SIGNED_COOKIE_SALT = "signed encrypted cookie"
|
9
9
|
|
10
10
|
def self.decode cookie
|
11
|
-
|
12
|
-
puts "Decoded: #{decoded}"
|
11
|
+
::Rack::Session::Cookie::Base64::Marshal.new.decode(cookie)
|
13
12
|
end
|
14
13
|
|
15
14
|
def self.encode data, key
|
16
15
|
cookie_verifier = ActiveSupport::MessageVerifier.new(key)
|
17
|
-
|
18
|
-
puts "Encoded: #{encoded}"
|
16
|
+
cookie_verifier.generate data
|
19
17
|
end
|
20
18
|
|
21
19
|
def self.decrypt cookie, secret_key_base, iterations=DEFAULT_ITERATIONS, encrypted_cookie_salt=DEFAULT_ENCRYPTED_COOKIE_SALT, encrypted_signed_cookie_salt=DEFAULT_ENCRYPTED_SIGNED_COOKIE_SALT
|
@@ -23,8 +21,7 @@ class Crumbl
|
|
23
21
|
secret = key_generator.generate_key(encrypted_cookie_salt)
|
24
22
|
sign_secret = key_generator.generate_key(encrypted_signed_cookie_salt)
|
25
23
|
encryptor = ActiveSupport::MessageEncryptor.new(secret, sign_secret)
|
26
|
-
|
27
|
-
puts "Decrypted: #{decrypted}"
|
24
|
+
encryptor.decrypt_and_verify(cookie)
|
28
25
|
end
|
29
26
|
|
30
27
|
def self.encrypt data, secret_key_base, iterations=DEFAULT_ITERATIONS, encrypted_cookie_salt=DEFAULT_ENCRYPTED_COOKIE_SALT, encrypted_signed_cookie_salt=DEFAULT_ENCRYPTED_SIGNED_COOKIE_SALT
|
@@ -32,7 +29,6 @@ class Crumbl
|
|
32
29
|
secret = key_generator.generate_key(encrypted_cookie_salt)
|
33
30
|
sign_secret = key_generator.generate_key(encrypted_signed_cookie_salt)
|
34
31
|
encryptor = ActiveSupport::MessageEncryptor.new(secret, sign_secret)
|
35
|
-
|
36
|
-
puts "Encrypted: #{encrypted}"
|
32
|
+
encryptor.encrypt_and_sign(data)
|
37
33
|
end
|
38
34
|
end
|
data/lib/crumbl/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crumbl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Lanner
|
@@ -50,7 +50,7 @@ files:
|
|
50
50
|
- lib/crumbl.rb
|
51
51
|
- lib/crumbl/base.rb
|
52
52
|
- lib/crumbl/version.rb
|
53
|
-
homepage:
|
53
|
+
homepage: https://github.com/dlanner/crumbl
|
54
54
|
licenses:
|
55
55
|
- MIT
|
56
56
|
metadata: {}
|