def from_string(input)
if input.length > 0
data = input.split
self.hash_alg = (data[0]).to_i
self.flags = (data[1]).to_i
self.iterations = (data[2]).to_i
self.salt = (data[3])
len = data[0].length + data[1].length + data[2].length + data[3].length + 4
if data[4] == '('
len += data[4].length + 1
end
next_hashed_and_types = (input[len, input.length-len])
data2 = next_hashed_and_types.split()
self.next_hashed = decode_next_hashed(data2[0])
self.hash_length = @next_hashed.length
len2 = data2[0].length + 1
self.types = next_hashed_and_types[len2, next_hashed_and_types.length - len2]
end
end