# File lib/Dnsruby/resource/TSIG.rb, line 143
      def calculate_mac(algorithm, data)
        mac=nil
        key = @key.gsub(" ", "")
 #       key = Base64::decode64(key)

        key = key.unpack("m*")[0]
        if (algorithm.to_s.downcase == HMAC_MD5.to_s.downcase)
          mac = OpenSSL::HMAC.digest(OpenSSL::Digest::MD5.new, key, data)
        elsif (algorithm == HMAC_SHA1)
          mac = OpenSSL::HMAC.digest(OpenSSL::Digest::SHA1.new, key, data)
        elsif (algorithm == HMAC_SHA256)
          mac = OpenSSL::HMAC.digest(OpenSSL::Digest::SHA256.new, key, data)
        else
          # Should we allow client to pass in their own signing function?

          raise VerifyError.new("Algorithm #{algorithm} unsupported by TSIG")
        end
        return mac
      end