{"record":{"id":"ff834d6f2bfaec31","repo":"ruby/ruby","slug":"digest-inspect-is-not-a-valid-sha256-hex-or-bas","errorCode":null,"errorMessage":"#{digest.inspect} is not a valid SHA256 hex or base64 digest","messagePattern":"#(.+?) is not a valid SHA256 hex or base64 digest","errorType":"exception","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/bundler/checksum.rb","lineNumber":50,"sourceCode":"        return if Bundler.settings[:disable_checksum_validation]\n\n        Checksum.new(algo, to_hexdigest(digest, algo), Source.new(:api, source_uri))\n      end\n\n      def from_lock(lock_checksum, lockfile_location)\n        algo, digest = lock_checksum.strip.split(ALGO_SEPARATOR, 2)\n        Checksum.new(algo, to_hexdigest(digest, algo), Source.new(:lock, lockfile_location))\n      end\n\n      def to_hexdigest(digest, algo = DEFAULT_ALGORITHM)\n        return digest unless algo == DEFAULT_ALGORITHM\n        return digest if digest.match?(/\\A[0-9a-f]{64}\\z/i)\n\n        if digest.match?(%r{\\A[-0-9a-z_+/]{43}={0,2}\\z}i)\n          digest = digest.tr(\"-_\", \"+/\") # fix urlsafe base64\n          digest.unpack1(\"m0\").unpack1(\"H*\")\n        else\n          raise ArgumentError, \"#{digest.inspect} is not a valid SHA256 hex or base64 digest\"\n        end\n      end\n    end\n\n    attr_reader :algo, :digest, :sources\n\n    def initialize(algo, digest, source)\n      @algo = algo\n      @digest = digest\n      @sources = [source]\n    end\n\n    def ==(other)\n      match?(other) && other.sources == sources\n    end\n\n    alias_method :eql?, :==\n","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/ruby/ruby/blob/0e5b888e1c355f3f728f2659f085820937dada48/lib/bundler/checksum.rb#L32-L68","documentation":"Error \"#{digest.inspect} is not a valid SHA256 hex or base64 digest\" thrown in ruby/ruby.","triggerScenarios":"Thrown at lib/bundler/checksum.rb:50 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0e5b888e1c355f3f728f2659f085820937dada48","analyzedAt":"2026-08-21T14:25:43.473Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}