User proper paths

This commit is contained in:
Dan Milne
2011-12-02 14:20:12 +11:00
parent 94542f4a39
commit 56fafb320e
3 changed files with 6 additions and 97 deletions

View File

@@ -1,38 +0,0 @@
module HSMR
class Component
include HSMR
attr_reader :key
attr_reader :length
def component
@key
end
def initialize(key=nil, length=DOUBLE)
## Should check for odd parity
if key.nil?
key = generate(length)
else
key=key.gsub(/ /,'')
#raise TypeError, "Component argument expected" unless other.is_a? Component
end
@key = key.unpack('a2'*(key.length/2)).map{|x| x.hex}.pack('c'*(key.length/2))
@length = @key.length
@key = @key
end
# def xor(other)
# other = Component.new(other) unless other.is_a? Component
# raise TypeError, "Component argument expected" unless other.is_a? Component
#
# @a = @key.unpack('C2'*(@key.length/2))
# @b = other.component.unpack('C2'*(other.component.length/2))
#
# #result = @a.zip(@b).map {|x,y| x^y}.map {|z| z.to_s(16) }.join.upcase
# result = @a.zip(@b).map {|x,y| x^y}.map {|z| z.to_s(16) }.map {|c| c.length == 1 ? '0'+c : c }.join.upcase
#
# Key.new(result)
# end
end
end

View File

@@ -1,56 +0,0 @@
module HSMR
class Key
include HSMR
attr_reader :key
attr_reader :length
def initialize(init=nil, length=DOUBLE)
return nil if (init.is_a? Array ) && (init.length == 0)
init = init.first if (init.is_a? Array) && (init.length == 1)
if init.is_a? Array
init.collect! {|c| ( (c.is_a? HSMR::Component) ? c : HSMR::Component.new(c) ) }
raise TypeError, "Component argument expected" unless init.first.is_a? Component
@key=HSMR::xor(init.pop, init).key
elsif init.is_a? Component
@key = init.component
elsif init.is_a? String
key=init.gsub(/ /,'')
@key = key.unpack('a2'*(key.length/2)).map{|x| x.hex}.pack('c'*(key.length/2))
elsif key.nil?
key = generate(length)
@key = key.unpack('a2'*(key.length/2)).map{|x| x.hex}.pack('c'*(key.length/2))
end
@length = @key.length
end
#def xor(other)
# other=Component.new(other) if other.is_a? String
# other=Component.new(other.to_s) if other.is_a? Key
#
# puts "other is #{other.class} - #{other.key}"
#
# raise TypeError, "Component argument expected" unless other.is_a? Component
#
# @a = @key.unpack('C2'*(@key.length/2))
# @b = other.component.unpack('C2'*(other.length/2))
#
# resultant = Key.new( @a.zip(@b).
# map {|x,y| x^y}.
# map {|z| z.to_s(16) }.
# map {|c| c.length == 1 ? '0'+c : c }.
# join.upcase )
# resultant
# end
#
# def xor!(_key)
# @key = xor(_key).key
# end
end
end

View File

@@ -1,4 +1,7 @@
require "test/unit"
require "./lib/hsmr"
require "./lib/key"
require "./lib/component"
#require "./lib/hsmr"
#require "./lib/hsmr/key"
#require "./lib/hsmr/component"
require "hsmr"
#require "hsmr/key"
#require "hsmr/component"