code: def _initialize_integrity_checkers(self, options):
          # type: (Descriptor, blobxfer.models.options.Upload) -> None
          
          if self._ase.is_encrypted:
              # ensure symmetric key exists
              if blobxfer.util.is_none_or_empty(
                      self._ase.encryption_metadata.symmetric_key):
                  raise RuntimeError(
                      ('symmetric key is invalid: provide RSA private key '
                       'or metadata corrupt for {}').format(
                           self.local_path.absolute_path))
              self.hmac = self._ase.encryption_metadata.initialize_hmac()
          # both hmac and md5 can be enabled
          if (options.store_file_properties.md5 and
                  not self.remote_is_append_blob):
              self.md5 = blobxfer.util.new_md5_hasher()
docs: Initialize file integrity checkers
          :param Descriptor self: this
          :param blobxfer.models.options.Upload options: upload options