Lo más probable es que la suma de comprobación sea solo eso: una verificación para asegurarse de que ninguno de los parámetros haya cambiado en tránsito. La forma más sencilla de hacer algo así es con un hash SHA256 (o incluso) MD5 de los parámetros de URL. Para algo como esto, incluso MD5 puede ser una opción razonable para el algoritmo de hash (no estamos hablando de contraseñas aquí). Se usa un algoritmo de hash porque si cambia un solo carácter, cambia el hash de salida y (incluso con MD5) puede ser difícil encontrar otro conjunto de entradas que coincidan con la salida dada.
Con una función de hash, obtendrás información increible si descodificas los resultados en base64. La función hash está generando efectivamente bits de datos "aleatorios", por lo que hay una pequeña posibilidad de generar caracteres ASCII con los datos binarios en bruto en sí mismos. En su lugar, obtienes galimatías. Sin embargo, está bien, porque el valor exacto del hash no importa, solo que quienquiera que tome los datos GET en el otro extremo y los hashes, obtendrá exactamente el mismo hash que el que se transmitió en la solicitud.
No estoy seguro de la parte superior de mi cabeza qué función hash generaría una cadena de 28 caracteres cuando se codificara en base64 ( MD5 genera 22 o 24 cadenas de caracteres ). Podría ser un hash personalizado. Podría ser otra cosa, pero lo mejor es que es solo el resultado de algún tipo de algoritmo de hash.