Générateur de mot de passe APRS

APRS Passcode Generator

Générateur de mot de passe APRS utilisable sur les serveurs APRS-IS

Générateur de mot de passe utilisant PHP
Code Source disponible sur Github

APRS (Automatic Position Reporting System ) est un système dans lequel les objets signalent leur position (généralement obtenue à partir d’un GNSS).
GNSS (Global Navigation Satellite System – Géolocalisation et Navigation par un Système de Satellites) Systèmes de positionnement  constitués de constellations de satellites artificiels (GPSÉtats-Unis d’Amérique, Glonass – Union soviétique , Galileo – Union européenne , Beidou – Chine …).

Quelques liens APRS :
APRS-IS
Aprs.fi
APRS direct
T2NUERNBG aprsc status

Pour aller plus loin :
Le code PHP de hachage

function aprspass ($callsign) {
$stophere = strpos($callsign, ‘-‘);
if ($stophere) $callsign = substr($callsign, 0, $stophere);
$realcall = strtoupper(substr($callsign, 0, 10));// initialize hash
$hash = 0x73e2;
$i = 0;
$len = strlen($realcall);// hash callsign two bytes at a time
while ($i < $len) {
$hash ^= ord(substr($realcall, $i, 1))<<8;
$hash ^= ord(substr($realcall, $i + 1, 1));
$i += 2;
}
// mask off the high bit so number is always positive
return $hash & 0x7fff;
}

Fonction qui calcule un code de hachage pour un indicatif d’appel APRS spécifié. Cette fonction, appelée “aprspass”, prend un indicatif d’appel en tant que paramètre et renvoie un code de hachage calculé à partir de cet indicatif d’appel.

Voici comment fonctionne le code :

1. La fonction commence par vérifier s’il y a un tiret (-) dans l’indicatif d’appel. Si oui, il tronque l’indicatif d’appel à la partie avant le tiret. Par exemple, si l’indicatif d’appel est “N0CALL-1”, il sera tronqué à “N0CALL”. Cela permet d’ignorer les SSID ou les extensions spécifiques à certaines applications APRS.

2. Ensuite, l’indicatif d’appel est converti en majuscules à l’aide de la fonction “strtoupper”.

3. Ensuite, un code de hachage est initialisé avec la valeur hexadécimale 0x73e2.

4. La boucle suivante parcourt l’indicatif d’appel caractère par caractère, en effectuant des opérations de hachage sur chaque paire de caractères.

5. À chaque itération de la boucle, le code de hachage est mis à jour en effectuant un XOR (OU exclusif) avec les valeurs ASCII des caractères successifs de l’indicatif d’appel.

6. Finalement, le code de hachage est masqué avec la valeur 0x7fff pour s’assurer que le nombre résultant est toujours positif.

La fonction “aprspass” renvoie le code de hachage calculé.