1// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later 2 3package common 4 5// ChecksumAlgorithm represents the algorithm used to generate the file checksum in the Checksum struct. 6type ChecksumAlgorithm string 7 8// The checksum algorithms mentioned in the spdxv2.2.0 https://spdx.github.io/spdx-spec/4-file-information/#44-file-checksum 9const ( 10 SHA224 ChecksumAlgorithm = "SHA224" 11 SHA1 ChecksumAlgorithm = "SHA1" 12 SHA256 ChecksumAlgorithm = "SHA256" 13 SHA384 ChecksumAlgorithm = "SHA384" 14 SHA512 ChecksumAlgorithm = "SHA512" 15 MD2 ChecksumAlgorithm = "MD2" 16 MD4 ChecksumAlgorithm = "MD4" 17 MD5 ChecksumAlgorithm = "MD5" 18 MD6 ChecksumAlgorithm = "MD6" 19 SHA3_256 ChecksumAlgorithm = "SHA3-256" 20 SHA3_384 ChecksumAlgorithm = "SHA3-384" 21 SHA3_512 ChecksumAlgorithm = "SHA3-512" 22 BLAKE2b_256 ChecksumAlgorithm = "BLAKE2b-256" 23 BLAKE2b_384 ChecksumAlgorithm = "BLAKE2b-384" 24 BLAKE2b_512 ChecksumAlgorithm = "BLAKE2b-512" 25 BLAKE3 ChecksumAlgorithm = "BLAKE3" 26 ADLER32 ChecksumAlgorithm = "ADLER32" 27) 28 29// Checksum provides a unique identifier to match analysis information on each specific file in a package. 30// The Algorithm field describes the ChecksumAlgorithm used and the Value represents the file checksum 31type Checksum struct { 32 Algorithm ChecksumAlgorithm `json:"algorithm"` 33 Value string `json:"checksumValue"` 34} 35