# File lib/Dnsruby/resource/NSEC3.rb, line 261
      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=NSEC3.decode_salt(data[3])

          self.salt=(data[3])
          #          self.salt_length=(@salt.length)


          len = data[0].length + data[1].length + data[2].length + data[3].length + 4
          # There may or may not be brackets around next_hashed

          if (data[4] == "(")
            len = 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]
          #          self.types=data2[1]

          #          #          len = data[0].length + data[1].length + data[2].length + data[3].length + data[5].length + 7

          #          #          self.types=(input[len, input.length-len])

        end
      end