sym-crypt 1.1.1 → 1.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cd20f28d2e3ea08eb54871c9d25bf55a47d6b95d
4
- data.tar.gz: 740d6d96ba353c00ff6d185ae14b55c0dfae7b69
2
+ SHA256:
3
+ metadata.gz: 7dc2ade67af9119488543dc9a44f57f0eb5aec124ac6c1bee63e2aabdda4d8b9
4
+ data.tar.gz: cd42ea8448dbb8289bfc55e5ac8858a11ad68b552f75c82d2c87daad3080033b
5
5
  SHA512:
6
- metadata.gz: 0b0215c403256940fcdcef2db57679aa335d7644790f9dd627e0e8cae08c04722e2ac41d6e3c0d87a863a1924321ae6b3a516d574664a0e7100510324268ea87
7
- data.tar.gz: 680f12b2b0222029989b804c356c3529969134844b4cdd6fb39ecf16b9e31d2578c22b730dba97bcb89fa1cc21a8034e557c0fcb78502f779cc098eccfdc8e1c
6
+ metadata.gz: 271491ac5d56ac35fa96aa50d5b991e3890ec82d1fbe4708bd50ce4a543d694d7155bf5d73a8f1bc8e9db0e61ec5ab250615160b9444b2e1151d60539ac9c353
7
+ data.tar.gz: 9c6be8f7d8ed87c41b8bc70d678ba93781ce3e7f7c32a803524b9a13a6b5fc29d7222712bd38e643e86a5a5f4fa2f50eba05dc40d12efa70c1e33f607f799766
@@ -1,23 +1,20 @@
1
1
  language: ruby
2
2
  cache: bundler
3
- env:
4
- CODECLIMATE_REPO_TOKEN=40b229d2d4857d67d832b6e0d5110537accb4e954961a8ce59beebf41e7d79b7
5
3
  rvm:
6
- - 2.2.7
7
- - 2.3.4
8
- - 2.4.1
9
- - jruby-9.1.9.0
10
- notifications:
11
- email:
12
- recipients:
13
- on_success: change
14
- on_failure: always
15
- slack:
16
- rooms:
17
- secure: GcACCHmcmo99lYE5dgt2TmY4YIPMWr75q0Bkm4Lddegq/1eMXgcZDz00j8iHWtnveyJSjEUpZFQ9uyx+P7dvxT7D5gl43arKZEylS4vMRg9QRgZu7/ROrXbJtrUyKulFRUTdFrmOiK9nDKpAzlvLvMKC4kaQnn88Xtu9pYMU8y4n5fCtl29gZM9ZjVbrBBvV/SumnTDLla2oQ7oFgUZdZhQZ1qsevYknxNq4eIcvPDjbon+bovfsIISEVRSNo2C3yjO+mqWKed3jfuCA4taAZ8/aVVFEKURMH10HFms1CiC3lE/gF4YfBXsqKpjnB+bKjBcWox2FQrp96FulMEIfkKQrnuncO96o7MGHX9oNqKSMoycf3+SZFwNa+5Mfq7SBepbHYCoU7/ow31UTyStrc5idG19XzYgI85yjQHdzQN299Xf0O8cGf9q9qAu7rS7JlM3ekR+3rZYO+OxNYTF8rcW1fYIj6GKcbsV8BvuhAVQRFOsk/ibcIb2N7rGVd/ZbU4HAk3RE1ywt+XowinpIHktu2PQUPDNpgRQwM6xqZHO/7s9r7oW0ULmZCMLZ9CMKNjKzrQ9wfh90+v+FiEiUKsaVj4cCwF3PvhVYvxU2AKbCeHtSEb7K6to86+DYNoIKnGH1ryKoyCtyOTZpNMLGFt34Msv7WfEylhG+DpVMvkM=
18
- addons:
19
- code_climate:
20
- repo_token:
21
- # regular test configuration
22
- after_success:
23
- - bundle exec codeclimate-test-reporter
4
+ - 2.2.10
5
+ - 2.3.8
6
+ - 2.4.6
7
+ - 2.5.5
8
+ - 2.6.2
9
+ - jruby-9.2.5.0
10
+ - jruby-9.2.6.0
11
+ env:
12
+ global:
13
+ secure: MLkFJDFyxLetmt934cEHRq5u1RMJSZ+SOsSEYq8RtXTW+UjuiWndDn27rKEXRZq8njYKROIZHXtYPZqz7vxFe6oA7zar4cFh9c2/T8N7gp9ekeaSYN3yBP+HzzO0RQeZu69J2VWW0VOua9xrr1e4M1foiRUXeu4+bjqhZQH83TBEahTLnhe3x5UBMVnAAOVPC0R19zVHTESmKCpkFTk+kMCOD4K5BJ3R2NVfAY9KmPqRPh5/jFDkaeOYiMVal466gh/16rK9WbzarqODgJD3Xi32A68K7nbMmGAEbsltQuIxSwrOvP/xmjoikdM9uxxsqSpP+qlfWZL8TUn1EJwRmvXajCE9ak59SAiaieOqfKScouoSajNcTafHdD97y8iFCXqx2b4/QYCrG2RSn8obe0pmHTNQl4mYyGhcnDrmjku+8oGJT007K3Xv5zW6Mm78l2g5HjrbqeDmAQpz1RI6iZyEhOI5ujdv3+jBdIv6KWEaFD1mskHciGB0y0C2YzNa4gSkR5d81tsrsFhbefaq86s11MuDV71YNvTLiy4s3CMeqBSGbZFgEb6LNUsoTbXkRCejdigeg3ZXUpb372tEQhQEHnV7mE4JkXixav6Simfg39N1DPpP4GOpegvIL2SdN7cXpnBEbZ5WILi4ghpf0BnyOTdRjwyMigNCzgtY6NA=
14
+ before_script:
15
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
16
+ - chmod +x ./cc-test-reporter
17
+ - ./cc-test-reporter before-build
18
+ script: bundle exec rspec
19
+ after_script:
20
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
data/README.md CHANGED
@@ -6,9 +6,8 @@
6
6
  [![Downloads](http://ruby-gem-downloads-badge.herokuapp.com/sym-crypt?type=total)](https://rubygems.org/gems/sym-crypt)
7
7
 
8
8
  [![Build Status](https://travis-ci.org/kigster/sym-crypt.svg?branch=master)](https://travis-ci.org/kigster/sym-crypt)
9
- [![Code Climate](https://codeclimate.com/github/kigster/sym-crypt/badges/gpa.svg)](https://codeclimate.com/github/kigster/sym-crypt)
10
- [![Test Coverage](https://codeclimate.com/github/kigster/sym-crypt/badges/coverage.svg)](https://codeclimate.com/github/kigster/sym-crypt/coverage)
11
- [![Issue Count](https://codeclimate.com/github/kigster/sym-crypt/badges/issue_count.svg)](https://codeclimate.com/github/kigster/sym-crypt)
9
+ [![Maintainability](https://api.codeclimate.com/v1/badges/3215796bda088851bfb7/maintainability)](https://codeclimate.com/github/kigster/sym-crypt/maintainability)
10
+ [![Test Coverage](https://api.codeclimate.com/v1/badges/3215796bda088851bfb7/test_coverage)](https://codeclimate.com/github/kigster/sym-crypt/test_coverage)
12
11
 
13
12
  [![Gitter](https://img.shields.io/gitter/room/gitterHQ/gitter.svg)](https://gitter.im/kigster/sym)
14
13
 
@@ -4,40 +4,25 @@ module Sym
4
4
  def self.included(base)
5
5
  base.instance_eval do
6
6
  include Singleton
7
- class << self
8
- include Sym::Configurable::ClassMethods
9
- end
10
- end
11
- end
12
7
 
13
- module ClassMethods
14
- def config
15
- instance
16
- end
8
+ class << self
9
+ def config
10
+ instance
11
+ end
17
12
 
18
- def configure
19
- yield config if block_given?
20
- config
21
- end
13
+ def configure
14
+ yield config if block_given?
15
+ config
16
+ end
22
17
 
23
- def defaults!
24
- [ self, *self.ancestors ].each do |klazz|
25
- next unless klazz.is_a?(Class)
26
- if klazz.const_defined?(:DEFAULTS)
27
- default_proc = self.const_get(:DEFAULTS)
28
- if default_proc.respond_to?(:call)
29
- configure(&default_proc)
30
- end
18
+ def property(prop_name, prop_value = nil)
19
+ config.send("#{prop_name}=", prop_value) if prop_name && prop_value
20
+ config.send(prop_name)
31
21
  end
32
- end
33
- end
34
22
 
35
- def property(prop_name)
36
- config.send(prop_name)
23
+ alias_method :[], :property
24
+ end
37
25
  end
38
-
39
- alias_method :prop, :property
40
- alias_method :[], :property
41
26
  end
42
27
  end
43
28
  end
@@ -6,8 +6,6 @@ require 'sym/crypt/errors'
6
6
 
7
7
  require 'sym/crypt/configuration'
8
8
 
9
- Sym::Crypt::Configuration.defaults!
10
-
11
9
  require 'sym/crypt/extensions/class_methods'
12
10
  require 'sym/crypt/extensions/instance_methods'
13
11
 
@@ -73,16 +71,18 @@ module Sym
73
71
 
74
72
  def self.included(klass)
75
73
  klass.instance_eval do
74
+
76
75
  include ::Sym::Crypt::Extensions::InstanceMethods
77
76
  extend ::Sym::Crypt::Extensions::ClassMethods
77
+
78
78
  class << self
79
79
  def private_key(value = nil)
80
80
  if value
81
- @private_key= value
81
+ @private_key = value
82
82
  elsif @private_key
83
83
  @private_key
84
84
  else
85
- @private_key= self.create_private_key
85
+ @private_key = self.create_private_key
86
86
  end
87
87
  @private_key
88
88
  end
@@ -99,12 +99,8 @@ module Sym
99
99
  end
100
100
 
101
101
  Sym::Crypt::Configuration.configure do |config|
102
- config.password_cipher = 'AES-128-CBC'
103
-
104
- config.data_cipher = 'AES-256-CBC'
105
- config.private_key_cipher = config.data_cipher
106
- config.compression_enabled = true
107
- config.compression_level = Zlib::BEST_COMPRESSION
102
+ # config.password_cipher = 'AES-128-CBC'
103
+ # etc...
108
104
  end
109
105
 
110
106
  class Object
@@ -1,5 +1,6 @@
1
1
  require 'singleton'
2
2
  require 'sym/configurable'
3
+ require 'sym/crypt/configuration'
3
4
  require 'ostruct'
4
5
  module Sym
5
6
  module Crypt
@@ -24,27 +25,23 @@ module Sym
24
25
  # config.compression_level = Zlib::BEST_COMPRESSION
25
26
  # end
26
27
 
27
- class Configuration < OpenStruct
28
+ class Configuration
29
+ attr_accessor :password_cipher,
30
+ :data_cipher,
31
+ :private_key_cipher,
32
+ :compression_enabled,
33
+ :compression_level
28
34
 
29
- include Sym::Configurable
30
-
31
- class << self
32
- def defaults!
33
- configure(&default_proc)
34
- end
35
+ def initialize
36
+ self.password_cipher = 'AES-128-CBC'
37
+ self.data_cipher = 'AES-256-CBC'
38
+ self.private_key_cipher = data_cipher
39
+ self.compression_enabled = true
40
+ self.compression_level = Zlib::BEST_COMPRESSION
41
+ end
35
42
 
36
- private
43
+ include Sym::Configurable
37
44
 
38
- def default_proc
39
- ->(config) do
40
- config.password_cipher = 'AES-128-CBC'
41
- config.data_cipher = 'AES-256-CBC'
42
- config.private_key_cipher = config.data_cipher
43
- config.compression_enabled = true
44
- config.compression_level = Zlib::BEST_COMPRESSION
45
- end
46
- end
47
- end
48
45
  end
49
46
  end
50
47
  end
@@ -1,5 +1,5 @@
1
1
  require 'sym/crypt'
2
- require 'sym/crypt/data'
2
+ require 'sym/data'
3
3
  require 'sym/crypt/cipher_handler'
4
4
  require 'openssl'
5
5
  module Sym
@@ -17,7 +17,7 @@ module Sym
17
17
  # of various ciphers, by calling into the private +_encr+ and +_decr+
18
18
  # methods.f
19
19
  module InstanceMethods
20
- include Sym::Crypt::Data
20
+ include Sym::Data
21
21
  include Sym::Crypt::CipherHandler
22
22
 
23
23
  # Expects key to be a base64 encoded key
@@ -1,7 +1,7 @@
1
1
  module Sym
2
2
  module Crypt
3
- VERSION = '1.1.1'
4
- DESCRIPTION = <<-eof
3
+ VERSION = '1.2.0'
4
+ DESCRIPTION = <<-eof
5
5
  sym-crypt is a core encryption module for the symmetric encryption app
6
6
  (and a corresponding gem) "sym", and contains the main base serialization,
7
7
  encryption, encoding, compression routines.
@@ -12,6 +12,6 @@ password sym-crypt uses AES-128-CBC cipher.
12
12
 
13
13
  The resulting data is zlib-compressed and base64-encoded. The keys are also
14
14
  base64 encoded for easy copying/pasting/etc.
15
- eof
15
+ eof
16
16
  end
17
17
  end
@@ -0,0 +1,22 @@
1
+ require 'base64'
2
+ require 'zlib'
3
+
4
+ require 'sym/data/encoder'
5
+ require 'sym/data/decoder'
6
+ require 'sym/data/wrapper_struct'
7
+
8
+ module Sym
9
+ # This module is responsible for taking arbitrary data of any format, and safely compressing
10
+ # the result of `Marshal.dump(data)` using Zlib, and then doing `#urlsafe_encode64` encoding
11
+ # to convert it to a string,
12
+ module Data
13
+ def encode(data, compress = true)
14
+ Encoder.new(data, compress).data_encoded
15
+ end
16
+
17
+ def decode(data_encoded, compress = nil)
18
+ Decoder.new(data_encoded, compress).data
19
+ end
20
+ end
21
+ end
22
+
@@ -0,0 +1,29 @@
1
+ require 'sym/crypt/errors'
2
+ require 'base64'
3
+ require 'zlib'
4
+
5
+ module Sym
6
+ module Data
7
+ class Decoder
8
+ attr_accessor :data, :data_encoded, :data
9
+
10
+ def initialize(data_encoded, compress)
11
+ self.data_encoded = data_encoded
12
+ self.data = begin
13
+ Base64.urlsafe_decode64(data_encoded)
14
+ rescue
15
+ data_encoded
16
+ end
17
+
18
+ if compress.nil? || compress # auto-guess
19
+ self.data = begin
20
+ Zlib::Inflate.inflate(data)
21
+ rescue Zlib::Error => e
22
+ data
23
+ end
24
+ end
25
+ self.data = Marshal.load(data)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,23 @@
1
+ require 'base64'
2
+ require 'zlib'
3
+
4
+ require 'sym/crypt/configuration'
5
+
6
+ module Sym
7
+ module Data
8
+ class Encoder
9
+ attr_accessor :data, :data_encoded
10
+
11
+ def initialize(data, compress)
12
+ self.data = data
13
+ self.data_encoded = Marshal.dump(data)
14
+ self.data_encoded = Zlib::Deflate.deflate(data_encoded, compression_level) if compress
15
+ self.data_encoded = Base64.urlsafe_encode64(data_encoded)
16
+ end
17
+
18
+ def compression_level
19
+ Sym::Crypt::Configuration.config.compression_level
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,42 @@
1
+ module Sym
2
+ module Data
3
+ class WrapperStruct < Struct.new(
4
+ :encrypted_data, # [Blob] Binary encrypted data (possibly compressed)
5
+ :iv, # [String] IV used to encrypt the data
6
+ :cipher_name, # [String] Name of the cipher used
7
+ :salt, # [Integer] For password-encrypted data this is the salt
8
+ :version, # [Integer] Version of the cipher used
9
+ :compress # [Boolean] indicates if compression should be applied
10
+ )
11
+
12
+ VERSION = 1
13
+
14
+ attr_accessor :compressed
15
+
16
+ def initialize(
17
+ encrypted_data:, # [Blob] Binary encrypted data (possibly compressed)
18
+ iv:, # [String] IV used to encrypt the data
19
+ cipher_name:, # [String] Name of the cipher used
20
+ salt: nil, # [Integer] For password-encrypted data this is the salt
21
+ version: VERSION, # [Integer] Version of the cipher used
22
+ compress: Sym::Crypt::Configuration.config.compression_enabled
23
+ )
24
+ super(encrypted_data, iv, cipher_name, salt, version, compress)
25
+ end
26
+
27
+ def config
28
+ Sym::Crypt::Configuration.config
29
+ end
30
+
31
+ def serialize
32
+ Marshal.dump(self)
33
+ end
34
+
35
+ def self.deserialize(data)
36
+ Marshal.load(data)
37
+ end
38
+ end
39
+ end
40
+ end
41
+
42
+
@@ -21,16 +21,9 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = ['lib']
22
22
  spec.required_ruby_version = '>= 2.2'
23
23
 
24
- #spec.add_dependency 'activesupport'
25
- #spec.add_dependency 'highline', '~> 1.7'
26
- #spec.add_dependency 'coin', '~> 0.1.8'
27
- #spec.add_dependency 'dalli', '~> 2.7'
28
-
29
- spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0'
30
24
  spec.add_development_dependency 'simplecov'
31
25
  spec.add_development_dependency 'colored2'
32
26
  spec.add_development_dependency 'irbtools'
33
- spec.add_development_dependency 'bundler', '~> 1'
34
27
  spec.add_development_dependency 'rake'
35
28
  spec.add_development_dependency 'rspec', '~> 3'
36
29
  spec.add_development_dependency 'rspec-its'
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sym-crypt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Gredeskoul
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-25 00:00:00.000000000 Z
11
+ date: 2019-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: codeclimate-test-reporter
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: simplecov
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -66,20 +52,6 @@ dependencies:
66
52
  - - ">="
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: bundler
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '1'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '1'
83
55
  - !ruby/object:Gem::Dependency
84
56
  name: rake
85
57
  requirement: !ruby/object:Gem::Requirement
@@ -166,14 +138,14 @@ files:
166
138
  - lib/sym/crypt.rb
167
139
  - lib/sym/crypt/cipher_handler.rb
168
140
  - lib/sym/crypt/configuration.rb
169
- - lib/sym/crypt/data.rb
170
- - lib/sym/crypt/data/decoder.rb
171
- - lib/sym/crypt/data/encoder.rb
172
- - lib/sym/crypt/data/wrapper_struct.rb
173
141
  - lib/sym/crypt/errors.rb
174
142
  - lib/sym/crypt/extensions/class_methods.rb
175
143
  - lib/sym/crypt/extensions/instance_methods.rb
176
144
  - lib/sym/crypt/version.rb
145
+ - lib/sym/data.rb
146
+ - lib/sym/data/decoder.rb
147
+ - lib/sym/data/encoder.rb
148
+ - lib/sym/data/wrapper_struct.rb
177
149
  - sym-crypt.gemspec
178
150
  homepage: https://github.com/kigster/sym-crypt
179
151
  licenses: []
@@ -193,8 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
165
  - !ruby/object:Gem::Version
194
166
  version: '0'
195
167
  requirements: []
196
- rubyforge_project:
197
- rubygems_version: 2.6.11
168
+ rubygems_version: 3.0.3
198
169
  signing_key:
199
170
  specification_version: 4
200
171
  summary: Base encryption/decryption core of the encryption app Sym. If you need simple
@@ -1,24 +0,0 @@
1
- require 'base64'
2
- require 'zlib'
3
-
4
- require 'sym/crypt/data/encoder'
5
- require 'sym/crypt/data/decoder'
6
- require 'sym/crypt/data/wrapper_struct'
7
-
8
- module Sym
9
- module Crypt
10
- # This module is responsible for taking arbitrary data of any format, and safely compressing
11
- # the result of `Marshal.dump(data)` using Zlib, and then doing `#urlsafe_encode64` encoding
12
- # to convert it to a string,
13
- module Data
14
- def encode(data, compress = true)
15
- Encoder.new(data, compress).data_encoded
16
- end
17
-
18
- def decode(data_encoded, compress = nil)
19
- Decoder.new(data_encoded, compress).data
20
- end
21
- end
22
- end
23
- end
24
-
@@ -1,31 +0,0 @@
1
- require 'sym/crypt/errors'
2
- require 'base64'
3
- require 'zlib'
4
-
5
- module Sym
6
- module Crypt
7
- module Data
8
- class Decoder
9
- attr_accessor :data, :data_encoded, :data
10
-
11
- def initialize(data_encoded, compress)
12
- self.data_encoded = data_encoded
13
- self.data = begin
14
- Base64.urlsafe_decode64(data_encoded)
15
- rescue
16
- data_encoded
17
- end
18
-
19
- if compress.nil? || compress # auto-guess
20
- self.data = begin
21
- Zlib::Inflate.inflate(data)
22
- rescue Zlib::Error => e
23
- data
24
- end
25
- end
26
- self.data = Marshal.load(data)
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,25 +0,0 @@
1
- require 'base64'
2
- require 'zlib'
3
-
4
- require 'sym/crypt/configuration'
5
-
6
- module Sym
7
- module Crypt
8
- module Data
9
- class Encoder
10
- attr_accessor :data, :data_encoded
11
-
12
- def initialize(data, compress)
13
- self.data = data
14
- self.data_encoded = Marshal.dump(data)
15
- self.data_encoded = Zlib::Deflate.deflate(data_encoded, compression_level) if compress
16
- self.data_encoded = Base64.urlsafe_encode64(data_encoded)
17
- end
18
-
19
- def compression_level
20
- Sym::Crypt::Configuration.config.compression_level
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,44 +0,0 @@
1
- module Sym
2
- module Crypt
3
- module Data
4
- class WrapperStruct < Struct.new(
5
- :encrypted_data, # [Blob] Binary encrypted data (possibly compressed)
6
- :iv, # [String] IV used to encrypt the data
7
- :cipher_name, # [String] Name of the cipher used
8
- :salt, # [Integer] For password-encrypted data this is the salt
9
- :version, # [Integer] Version of the cipher used
10
- :compress # [Boolean] indicates if compression should be applied
11
- )
12
-
13
- VERSION = 1
14
-
15
- attr_accessor :compressed
16
-
17
- def initialize(
18
- encrypted_data:, # [Blob] Binary encrypted data (possibly compressed)
19
- iv:, # [String] IV used to encrypt the data
20
- cipher_name:, # [String] Name of the cipher used
21
- salt: nil, # [Integer] For password-encrypted data this is the salt
22
- version: VERSION, # [Integer] Version of the cipher used
23
- compress: Sym::Crypt::Configuration.config.compression_enabled
24
- )
25
- super(encrypted_data, iv, cipher_name, salt, version, compress)
26
- end
27
-
28
- def config
29
- Sym::Crypt::Configuration.config
30
- end
31
-
32
- def serialize
33
- Marshal.dump(self)
34
- end
35
-
36
- def self.deserialize(data)
37
- Marshal.load(data)
38
- end
39
- end
40
- end
41
- end
42
- end
43
-
44
-