Checksum
  public
  
  final
  
  class
  Checksum
  
    extends Object
  
  
  
  
  
      implements
      
        Parcelable
      
  
  
| java.lang.Object | |
| ↳ | android.content.pm.Checksum | 
A typed checksum.
See also:
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.   | 
    
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.   | 
    
int | 
        
          TYPE_WHOLE_SHA256
          
      This constant was deprecated
      in API level 31.
    Not platform enforced.
             Use platform enforced digests e.g.   | 
    
int | 
        
          TYPE_WHOLE_SHA512
          
      This constant was deprecated
      in API level 31.
    Not platform enforced.
             Use platform enforced digests e.g.   | 
    
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
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
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
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
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
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
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
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
Public constructors
Checksum
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
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 | 
      
getType
public int getType ()
Checksum type.
| Returns | |
|---|---|
int | 
        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 | 
      
getValue
public byte[] getValue ()
Checksum value.
| Returns | |
|---|---|
byte[] | 
        This value cannot be null. | 
      
writeToParcel
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 |