Sha256: c1dc443d157580de8c362365d9da6b081d024207dad07ba7d62ac2c0d097abd3
Contents?: true
Size: 591 Bytes
Versions: 4
Compression:
Stored size: 591 Bytes
Contents
# -*- coding: binary -*- module Rex module Text # Returns a XOR'd string. # # @param key [String] XOR key. # @param value [String] The string to XOR. # @return [String] An XOR'd string. def self.xor(key, value) xor_key = key.kind_of?(Integer) || key.nil? ? key.to_i : key.to_i(16) unless xor_key.between?(0, 255) raise ArgumentError, 'XOR key should be between 0x00 to 0x0f' end buf = '' value.each_byte do |byte| xor_byte = byte ^ xor_key buf << [xor_byte].pack('c') end buf end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
rex-text-0.2.21 | lib/rex/text/xor.rb |
rex-text-0.2.20 | lib/rex/text/xor.rb |
rex-text-0.2.19 | lib/rex/text/xor.rb |
rex-text-0.2.18 | lib/rex/text/xor.rb |