ipcrypt 1.0.0 → 1.0.1

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
2
  SHA256:
3
- metadata.gz: ffcebf3891f542221e9130fc8399490e5ec66a865f0ee64dc4bad819a9d4cd9d
4
- data.tar.gz: ba53bcec1d4002cf843190fce26eddfec44a11e2f6f92281b3435395399960f0
3
+ metadata.gz: 0cd0624dfb068db6f1ac4c5d160c9245d20ae898d84196614db1b62d79cd8c2f
4
+ data.tar.gz: d725023396007a54bfae83289fb9ade4162f49ae6d893bb31e0478009badeb64
5
5
  SHA512:
6
- metadata.gz: 935359db9f48e1280a9a0c1d29c270a92329649e0f353d3e022dbff79a43a76bf60858d1023ce12b21eb662dbb0787d8cdf656b72def425d86c9353006d2c2cc
7
- data.tar.gz: 5b39e89d7f0193de858f9a944a34190eac1167d6d877c7af45a3b51eba4c0018c573f0c5ed91fabed218d8e93a808281f3913102ab462cbbf6cdde1a9dc5bdb5
6
+ metadata.gz: 1d646cb832bfeaafac3d8b54290b18ff9eeac4782b43eff31512f196aa67fad00084e81e1e628d6f6e3419d1265d61a06cec8b5d9644dd5c70b581b583eaa83b
7
+ data.tar.gz: 66bcc4d04c596fff3c07adf10c7fc65252e803ef228e4fb2cb42dec00c19b1fec6d4c2711a2f00ad0d9db38f343686541f02cf4946e1944d34257619ad192ab2
data/README.md CHANGED
@@ -92,35 +92,35 @@ A random 16-byte key will be generated and stored as the `@default_key` instance
92
92
  ### Using a default key
93
93
 
94
94
  ```ruby
95
- encrypter = IPCrypt::IP['94.175.013.122', '73.155.92.01']
96
- => #<IPCrypt::Engine:0x00007ff9f904fc68 @default_key="\x95\xC6\rM\xE5\xFAKE\xAD\x16\x80\x9A\xF6\xA9\v\x8B", @ips=["94.175.013.122", "73.155.92.01"]>
95
+ crypter = IPCrypt::IP['94.175.013.122', '73.155.92.01']
96
+ => #<IPCrypt::Engine:0x00007f87139ae150 @default_key="\xB5\xBA\xE1\xD6\x1C\x9F\xD1#[\x93\xD8\x86\xBC\xFD\xACx", @ips=["94.175.013.122", "73.155.92.01"]>
97
97
 
98
- encrypted = encrypter.encrypt
99
- => ["221.69.213.73", "80.1.170.94"]
98
+ crypter.ips = crypter.encrypt
99
+ => ["126.189.155.194", "51.239.168.232"]
100
100
 
101
- decrypter = IPCrypt::IP[encrypted]
102
- => #<IPCrypt::Engine:0x00007ff9f91618e0 @default_key="\xF8\x00\x8Cdj\xFF\xE9\x82\xE9\v\x85e\xF6\x7F 8", @ips=["221.69.213.73", "80.1.170.94"]>
101
+ crypter
102
+ => #<IPCrypt::Engine:0x00007f87139ae150 @default_key="\xB5\xBA\xE1\xD6\x1C\x9F\xD1#[\x93\xD8\x86\xBC\xFD\xACx", @ips=["126.189.155.194", "51.239.168.232"]>
103
103
 
104
- decrypted = decrypter.decrypt encrypter.default_key
104
+ crypter.decrypt crypter.default_key
105
105
  => ["94.175.13.122", "73.155.92.1"]
106
106
  ```
107
107
 
108
108
  ### Using a set key
109
109
 
110
110
  ```ruby
111
- key = '16-byte-key-123!'
112
- => "16-byte-key-123"
111
+ key = 'secret-16-bytes!'
112
+ => "secret-16-bytes!"
113
113
 
114
- encrypter = IPCrypt::IP['94.175.013.122', '73.155.92.01']
114
+ crypter = IPCrypt::IP['94.175.013.122', '73.155.92.01']
115
115
  => #<IPCrypt::Engine:0x00007fe851049db8 @default_key="\xCC\xE0j\x13s\xB9B+\xEF'\xC8\xFC\xD4\xA5\xFCW", @ips=["94.175.013.122", "73.155.92.01"]>
116
116
 
117
- encrypted = encrypter.encrypt key
118
- => ["74.248.51.155", "132.12.16.129"]
117
+ crypter.ips = crypter.encrypt key
118
+ => ["239.130.3.132", "168.16.121.58"]
119
119
 
120
- decrypter = IPCrypt::IP[encrypted]
121
- => #<IPCrypt::Engine:0x00007fe85117b1c8 @default_key="\xFA\x9C\x1E\xEE\xA7\xE3\xA1\xFD(9Q\x94\x11\xA4\x90\x19", @ips=["74.248.51.155", "132.12.16.129"]>
120
+ crypter
121
+ => #<IPCrypt::Engine:0x00007fb84f1a4230 @default_key="FN\xECa\x92\xA3\x1A\xC3(E\x9E\xF4\xD4\xBC\x8F)", @ips=["239.130.3.132", "168.16.121.58"]>
122
122
 
123
- decrypted = decrypter.decrypt key
123
+ crypter.decrypt key
124
124
  => ["94.175.13.122", "73.155.92.1"]
125
125
  ```
126
126
 
@@ -2,7 +2,7 @@ require 'ipcrypt/exceptions'
2
2
  require 'securerandom'
3
3
  module IPCrypt
4
4
  class Engine
5
- attr_reader :default_key
5
+ attr_reader :default_key, :ips
6
6
  IPv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
7
7
 
8
8
  def initialize(*ips)
@@ -13,6 +13,11 @@ module IPCrypt
13
13
  end
14
14
  end
15
15
 
16
+ def ips=(ips)
17
+ @ips = ips if ips.is_a? Array
18
+ @ips = [ips] if ips.is_a? String
19
+ end
20
+
16
21
  def encrypt(key = @default_key)
17
22
  raise InvalidKeyTypeError.new(key, key.class) unless key.is_a? String
18
23
 
@@ -1,3 +1,3 @@
1
1
  module IPCrypt
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ipcrypt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edwin Onuonga
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-28 00:00:00.000000000 Z
11
+ date: 2019-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -134,8 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  - !ruby/object:Gem::Version
135
135
  version: '0'
136
136
  requirements: []
137
- rubyforge_project:
138
- rubygems_version: 2.7.6
137
+ rubygems_version: 3.0.2
139
138
  signing_key:
140
139
  specification_version: 4
141
140
  summary: Ruby implementation of the format-preserving IPCrypt encryption algorithm