crypt_keeper_providers 0.3.0 → 0.4.0
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.
- data/gemfiles/activerecord_3_0.gemfile.lock +1 -1
- data/gemfiles/activerecord_3_1.gemfile.lock +1 -1
- data/gemfiles/activerecord_3_2.gemfile.lock +1 -1
- data/lib/crypt_keeper_providers/mysql_aes.rb +3 -0
- data/lib/crypt_keeper_providers/version.rb +1 -1
- data/spec/mysql_aes_spec.rb +1 -7
- metadata +61 -21
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'crypt_keeper_providers/mysql_aes/log_subscriber'
|
2
|
+
require 'base64'
|
2
3
|
|
3
4
|
module CryptKeeperProviders
|
4
5
|
class MysqlAes
|
@@ -17,6 +18,7 @@ module CryptKeeperProviders
|
|
17
18
|
#
|
18
19
|
# Returns an encrypted string
|
19
20
|
def encrypt(value)
|
21
|
+
value = Base64.encode64(value)
|
20
22
|
escape_and_execute_sql(["SELECT AES_ENCRYPT(?, ?)", value, key]).first
|
21
23
|
end
|
22
24
|
|
@@ -24,6 +26,7 @@ module CryptKeeperProviders
|
|
24
26
|
#
|
25
27
|
# Returns a plaintext string
|
26
28
|
def decrypt(value)
|
29
|
+
value = Base64.decode64(value)
|
27
30
|
escape_and_execute_sql(["SELECT AES_DECRYPT(?, ?)", value, key]).first
|
28
31
|
end
|
29
32
|
|
data/spec/mysql_aes_spec.rb
CHANGED
@@ -5,13 +5,7 @@ module CryptKeeperProviders
|
|
5
5
|
use_mysql
|
6
6
|
|
7
7
|
let(:plain_text) { 'test' }
|
8
|
-
|
9
|
-
# MySQL stores AES encrypted strings in binary which you can't paste
|
10
|
-
# into a spec :). This is a Base64 encoded string of 'test' AES encrypted
|
11
|
-
# by AES_ENCRYPT()
|
12
|
-
let(:cipher_text) do
|
13
|
-
Base64.decode64 "nbKOoWn8kvAw9k/C2Mex6Q==\n"
|
14
|
-
end
|
8
|
+
let(:cipher_text) { "nbKOoWn8kvAw9k/C2Mex6Q==\n" }
|
15
9
|
|
16
10
|
subject { MysqlAes.new key: 'candy' }
|
17
11
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crypt_keeper_providers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 2.10.0
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.10.0
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: guard
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ~>
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: 1.2.0
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.2.0
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: guard-rspec
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: 1.1.0
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.1.0
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: rake
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ~>
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: 0.9.2.2
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.9.2.2
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: activerecord
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '3.0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '3.0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: appraisal
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ~>
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: 0.4.1
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.4.1
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: pg
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ~>
|
@@ -87,10 +117,15 @@ dependencies:
|
|
87
117
|
version: 0.14.0
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 0.14.0
|
91
126
|
- !ruby/object:Gem::Dependency
|
92
127
|
name: mysql2
|
93
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
94
129
|
none: false
|
95
130
|
requirements:
|
96
131
|
- - ~>
|
@@ -98,7 +133,12 @@ dependencies:
|
|
98
133
|
version: 0.3.11
|
99
134
|
type: :development
|
100
135
|
prerelease: false
|
101
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 0.3.11
|
102
142
|
description: Encryption providers for crypt_keeper
|
103
143
|
email:
|
104
144
|
- jmazzi@gmail.com
|
@@ -151,7 +191,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
151
191
|
version: '0'
|
152
192
|
segments:
|
153
193
|
- 0
|
154
|
-
hash:
|
194
|
+
hash: -1861140725241316358
|
155
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
156
196
|
none: false
|
157
197
|
requirements:
|
@@ -160,10 +200,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
160
200
|
version: '0'
|
161
201
|
segments:
|
162
202
|
- 0
|
163
|
-
hash:
|
203
|
+
hash: -1861140725241316358
|
164
204
|
requirements: []
|
165
205
|
rubyforge_project:
|
166
|
-
rubygems_version: 1.8.
|
206
|
+
rubygems_version: 1.8.23
|
167
207
|
signing_key:
|
168
208
|
specification_version: 3
|
169
209
|
summary: Encryption providers for crypt_keeper
|