Checksum

public final class Checksum
extends Object implements Parcelable

java.lang.Object
   ↳ android.content.pm.Checksum


A typed checksum.

Summary

Constants

int TYPE_PARTIAL_MERKLE_ROOT_1M_SHA256

Root SHA256 hash of a 1M Merkle tree computed over protected content.

int TYPE_PARTIAL_MERKLE_ROOT_1M_SHA512

Root SHA512 hash of a 1M Merkle tree computed over protected content.

int TYPE_WHOLE_MD5

This constant was deprecated in API level 31. Not platform enforced. Cryptographically broken and unsuitable for further use. Use platform enforced digests e.g. TYPE_WHOLE_MERKLE_ROOT_4K_SHA256. Provided for completeness' sake and to support legacy usecases.

int TYPE_WHOLE_MERKLE_ROOT_4K_SHA256

Root SHA256 hash of a 4K Merkle tree computed over all file bytes.

int TYPE_WHOLE_SHA1

This constant was deprecated in API level 31. Not platform enforced. Broken and should not be used. Use platform enforced digests e.g. TYPE_WHOLE_MERKLE_ROOT_4K_SHA256. Provided for completeness' sake and to support legacy usecases.

int TYPE_WHOLE_SHA256

This constant was deprecated in API level 31. Not platform enforced. Use platform enforced digests e.g. TYPE_WHOLE_MERKLE_ROOT_4K_SHA256. Provided for completeness' sake and to support legacy usecases.

int TYPE_WHOLE_SHA512

This constant was deprecated in API level 31. Not platform enforced. Use platform enforced digests e.g. TYPE_WHOLE_MERKLE_ROOT_4K_SHA256. Provided for completeness' sake and to support legacy usecases.

Inherited constants

Fields

public static final Creator<Checksum> CREATOR

Public constructors

Checksum(int type, byte[] value)

Creates a new Checksum.

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

int getType()

Checksum type.

byte[] getValue()

Checksum value.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Constants

TYPE_PARTIAL_MERKLE_ROOT_1M_SHA256

Added in API level 31
public static final int TYPE_PARTIAL_MERKLE_ROOT_1M_SHA256

Root SHA256 hash of a 1M Merkle tree computed over protected content. Excludes signing block. See APK Signature Scheme V2.

Constant Value: 32 (0x00000020)

TYPE_PARTIAL_MERKLE_ROOT_1M_SHA512

Added in API level 31
public static final int TYPE_PARTIAL_MERKLE_ROOT_1M_SHA512

Root SHA512 hash of a 1M Merkle tree computed over protected content. Excludes signing block. See APK Signature Scheme V2.

Constant Value: 64 (0x00000040)

TYPE_WHOLE_MD5

Added in API level 31
Deprecated in API level 31
public static final int TYPE_WHOLE_MD5

This constant was deprecated in API level 31.
Not platform enforced. Cryptographically broken and unsuitable for further use. Use platform enforced digests e.g. TYPE_WHOLE_MERKLE_ROOT_4K_SHA256. Provided for completeness' sake and to support legacy usecases.

MD5 hash computed over all file bytes.

Constant Value: 2 (0x00000002)

TYPE_WHOLE_MERKLE_ROOT_4K_SHA256

Added in API level 31
public static final int TYPE_WHOLE_MERKLE_ROOT_4K_SHA256

Root SHA256 hash of a 4K Merkle tree computed over all file bytes. See APK Signature Scheme V4. See fs-verity. Recommended for all new applications. Can be used by kernel to enforce authenticity and integrity of the APK. See fs-verity for details

Constant Value: 1 (0x00000001)

TYPE_WHOLE_SHA1

Added in API level 31
Deprecated in API level 31
public static final int TYPE_WHOLE_SHA1

This constant was deprecated in API level 31.
Not platform enforced. Broken and should not be used. Use platform enforced digests e.g. TYPE_WHOLE_MERKLE_ROOT_4K_SHA256. Provided for completeness' sake and to support legacy usecases.

SHA1 hash computed over all file bytes.

Constant Value: 4 (0x00000004)

TYPE_WHOLE_SHA256

Added in API level 31
Deprecated in API level 31
public static final int TYPE_WHOLE_SHA256

This constant was deprecated in API level 31.
Not platform enforced. Use platform enforced digests e.g. TYPE_WHOLE_MERKLE_ROOT_4K_SHA256. Provided for completeness' sake and to support legacy usecases.

SHA256 hash computed over all file bytes.

Constant Value: 8 (0x00000008)

TYPE_WHOLE_SHA512

Added in API level 31
Deprecated in API level 31
public static final int TYPE_WHOLE_SHA512

This constant was deprecated in API level 31.
Not platform enforced. Use platform enforced digests e.g. TYPE_WHOLE_MERKLE_ROOT_4K_SHA256. Provided for completeness' sake and to support legacy usecases.

SHA512 hash computed over all file bytes.

Constant Value: 16 (0x00000010)

Fields

CREATOR

Added in API level 31
public static final Creator<Checksum> CREATOR

Public constructors

Checksum

Added in API level 31
public Checksum (int type, 
                byte[] value)

Creates a new Checksum.

Parameters
type int: Checksum type. Value is TYPE_WHOLE_MERKLE_ROOT_4K_SHA256, TYPE_WHOLE_MD5, TYPE_WHOLE_SHA1, TYPE_WHOLE_SHA256, TYPE_WHOLE_SHA512, TYPE_PARTIAL_MERKLE_ROOT_1M_SHA256, or TYPE_PARTIAL_MERKLE_ROOT_1M_SHA512

value byte: Checksum value. This value cannot be null.

Public methods

describeContents

Added in API level 31
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

getValue

Added in API level 31
public byte[] getValue ()

Checksum value.

Returns
byte[] This value cannot be null.

writeToParcel

Added in API level 31
public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES