--- description: > The checksum post-processor computes specified checksum for the artifact list from an upstream builder or post-processor. All downstream post-processors will see the new artifacts. The primary use-case is compute checksum for artifacts allows to verify it later. So firstly this post-processor get artifact, compute it checksum and pass to next post-processor original artifacts and checksum files. layout: docs page_title: Checksum - Post-Processors sidebar_title: Checksum --- # Checksum Post-Processor Type: `checksum` The checksum post-processor computes specified checksum for the artifact list from an upstream builder or post-processor. All downstream post-processors will see the new artifacts. The primary use-case is compute checksum for artifact to verify it later. After computes checksum for artifacts, you can use new artifacts with other post-processors like [artifice](/docs/post-processors/artifice), [compress](/docs/post-processors/compress), [docker-push](/docs/post-processors/docker-push), or a third-party post-processor. ## Basic example ```json { "type": "checksum", "checksum_types": ["sha1", "sha256"], "output": "packer_{{.BuildName}}_{{.ChecksumType}}.checksum" } ``` ```hcl post-processor "checksum" { checksum_types = ["sha1", "sha256"] output = "packer_{{.BuildName}}_{{.ChecksumType}}.checksum" } ``` ## Configuration Reference Optional parameters: - `checksum_types` (array of strings) - An array of strings of checksum types to compute. If empty, Defaults to md5. Allowed values are: * md5 * sha1 * sha224 * sha256 * sha384 * sha512 - `output` (string) - Specify filename to store checksums. This defaults to `packer_{{.BuildName}}_{{.BuilderType}}_{{.ChecksumType}}.checksum`. For example, if you had a builder named `database`, you might see the file written as `packer_database_docker_md5.checksum`. This is treated as a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. The following special variables are also available to use in the output template: - `BuildName`: The name of the builder that produced the artifact. - `BuilderType`: The type of builder used to produce the artifact. - `ChecksumType`: The type of checksums the file contains. This should be used if you have more than one value in `checksum_types`.