Skip to main content
fixed typo
Source Link
bgm
  • 3.5k
  • 15
  • 28

The checksum is an md5 hash of the validvalue in the database field civicrm_contact.hash, the Contact ID, the current timestamp and the life-span.

Therefore, as long as the contact hash stays the same (it never changes, unless you do it manually), then you can generate as many tokens as necessary.

Once generated, checksums look like xxxx_yyyy_zzzz. The first part is the md5 hash, the second part is the timestamp of when it was generated, and the third part is the life-span. That way CiviCRM can easily lookup the contact.hash, and with the yyyy and zzzz, be able to recalculate/validate the xxxx part.

For reference, see CRM/Contact/BAO/Contact/Utils.php, the function generateChecksum.

The checksum is an md5 hash of the valid in the database field civicrm_contact.hash, the Contact ID, the current timestamp and the life-span.

Therefore, as long as the contact hash stays the same (it never changes, unless you do it manually), then you can generate as many tokens as necessary.

Once generated, checksums look like xxxx_yyyy_zzzz. The first part is the md5 hash, the second part is the timestamp of when it was generated, and the third part is the life-span. That way CiviCRM can easily lookup the contact.hash, and with the yyyy and zzzz, be able to recalculate/validate the xxxx part.

For reference, see CRM/Contact/BAO/Contact/Utils.php, the function generateChecksum.

The checksum is an md5 hash of the value in the database field civicrm_contact.hash, the Contact ID, the current timestamp and the life-span.

Therefore, as long as the contact hash stays the same (it never changes, unless you do it manually), then you can generate as many tokens as necessary.

Once generated, checksums look like xxxx_yyyy_zzzz. The first part is the md5 hash, the second part is the timestamp of when it was generated, and the third part is the life-span. That way CiviCRM can easily lookup the contact.hash, and with the yyyy and zzzz, be able to recalculate/validate the xxxx part.

For reference, see CRM/Contact/BAO/Contact/Utils.php, the function generateChecksum.

Source Link
bgm
  • 3.5k
  • 15
  • 28

The checksum is an md5 hash of the valid in the database field civicrm_contact.hash, the Contact ID, the current timestamp and the life-span.

Therefore, as long as the contact hash stays the same (it never changes, unless you do it manually), then you can generate as many tokens as necessary.

Once generated, checksums look like xxxx_yyyy_zzzz. The first part is the md5 hash, the second part is the timestamp of when it was generated, and the third part is the life-span. That way CiviCRM can easily lookup the contact.hash, and with the yyyy and zzzz, be able to recalculate/validate the xxxx part.

For reference, see CRM/Contact/BAO/Contact/Utils.php, the function generateChecksum.