crumbl 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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: {}
|