lib/ip_anonymizer.rb in ip_anonymizer-0.1.0 vs lib/ip_anonymizer.rb in ip_anonymizer-0.1.1
- old
+ new
@@ -5,21 +5,21 @@
require "ip_anonymizer/mask_ip"
require "ip_anonymizer/version"
module IpAnonymizer
def self.mask_ip(ip)
- addr = IPAddr.new(ip)
+ addr = IPAddr.new(ip.to_s)
if addr.ipv4?
# set last octet to 0
addr.mask(24).to_s
else
# set last 80 bits to zeros
addr.mask(48).to_s
end
end
def self.hash_ip(ip, key:, iterations: 1)
- addr = IPAddr.new(ip)
+ addr = IPAddr.new(ip.to_s)
key_len = addr.ipv4? ? 4 : 16
family = addr.ipv4? ? Socket::AF_INET : Socket::AF_INET6
keyed_hash = OpenSSL::PKCS5.pbkdf2_hmac(addr.to_s, key, iterations, key_len, "sha256")
IPAddr.new(keyed_hash.bytes.inject {|a, b| (a << 8) + b }, family).to_s