Defect #39803 » itgn_module.rb
1 |
module ItgnModule |
---|---|
2 |
#AES Encryption key
|
3 |
Rails.configuration.itgn_consent_library_key = "redacted" |
4 |
@@seckey = Rails.configuration.itgn_consent_library_key |
5 |
require 'openssl' |
6 |
require 'digest' |
7 |
|
8 |
|
9 |
def access_level |
10 |
if User.current.admin? |
11 |
access_level = 3 |
12 |
else
|
13 |
if User.current.groups.where(:lastname=>"ITGN Consent Library Editor").count == 1 |
14 |
access_level = 2 |
15 |
else
|
16 |
if User.current.groups.where(:lastname=>"ITGN Consent Library Query").count == 1 |
17 |
access_level = 1 |
18 |
else
|
19 |
access_level = 0 |
20 |
end
|
21 |
end
|
22 |
end
|
23 |
access_level
|
24 |
end
|
25 |
|
26 |
def encrypt (val) |
27 |
cipher_encrypt = OpenSSL::Cipher::AES.new(256, :CBC).encrypt |
28 |
cipher_encrypt.key = (Digest::SHA1.hexdigest @@seckey)[0..31] |
29 |
rv = cipher_encrypt.update(val) + cipher_encrypt.final |
30 |
rv
|
31 |
end
|
32 |
def decrypt(val) |
33 |
return val if val.nil? |
34 |
cipher_decrypt = OpenSSL::Cipher::AES.new(256, :CBC).decrypt |
35 |
cipher_decrypt.key = (Digest::SHA1.hexdigest @@seckey)[0..31] |
36 |
rv = cipher_decrypt.update(val) + cipher_decrypt.final |
37 |
rv
|
38 |
end
|
39 |
end
|