ipcrypt 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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