ForHosting KIT · Outils pour développeurs

Chiffre ROT5 des chiffres

0123456789 devient 5678901234 : chaque chiffre avance de cinq places sur un cercle de dix, et les lettres, espaces et tirets restent en place. Appliquez-le une seconde fois et les chiffres d'origine reviennent. Pratique pour masquer un numéro de téléphone ou de commande. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Texte
0123456789
Vous obtenez
Résultat
5678901234
Entrée
0123456789
Texte
5678901234
Chiffres tournés
10

Un chiffre ROT5 des chiffres est le cousin numérique de la rotation classique de lettres ROT13 : chaque chiffre ASCII de zéro à neuf est décalé de cinq places sur un cercle de dix chiffres, ainsi zéro devient cinq, un devient six, deux devient sept, trois devient huit, quatre devient neuf, et la seconde moitié de l'alphabet des chiffres se mappe de l'autre côté. Comme cinq est la moitié de dix, appliquer la même substitution une seconde fois restaure la chaîne d'origine—encoder et décoder sont des opérations identiques. Lettres, ponctuation, espaces et tout point de code Unicode non chiffre passent inchangés, ce qui rend ROT5 idéal pour une légère ofuscation de numéros de téléphone, d'ID de commande, de PIN intégrés dans un texte mixte ou de chaînes de casse-tête style CTF sans toucher la prose environnante. Saisissez n'importe quel texte non vide ; l'outil renvoie la chaîne transformée, combien de chiffres ont tourné, combien de caractères non chiffres ont été laissés seuls, et un court message d'état.

Ce que ROT5 fait aux chiffres et ce qu'il laisse intact

ROT5 appartient à la famille des chiffres de substitution modulaire utilisés dans les casse-tête crypto classiques et les jouets de texte légers. L'alphabet est les dix chiffres ASCII de zéro à neuf. Pour tout caractère chiffre d dont la valeur numérique est n de zéro à neuf, le chiffre émet le caractère unique de (n plus cinq) modulo dix.

Cette table est fixe et publique : zéro mappe sur cinq, un sur six, deux sur sept, trois sur huit, quatre sur neuf, cinq sur zéro, six sur un, sept sur deux, huit sur trois et neuf sur quatre. Comme le décalage égale la moitié de la taille de l'alphabet, le mappage est une involution—chaque symbole est sa propre inverse—donc il n'y a ni mode de décodage séparé ni clé secrète.

Tout ce qui n'est pas un chiffre ASCII est copié tel quel : lettres majuscules et minuscules, espaces, traits d'union dans les numéros de téléphone, symboles monétaires, sauts de ligne et Unicode multi-octets survivent. Les formes de chiffres pleine largeur et les autres systèmes numériques hors de la plage ASCII ne sont pas réécrits ; seuls les dix caractères aux points de code quarante-huit à cinquante-sept participent.

Quand vous renvoyez le result comme entrée, vous récupérez le texte d'origine pour chaque chiffre présent, ce qui est le contrôle aller-retour standard que enseignants et auteurs CTF utilisent pour vérifier une implémentation ROT5.

Exercices de chiffre CTF et en classe

Les élèves appliquent ROT5 à des suites de chiffres dans des énoncés de défi, puis l'appliquent de nouveau pour vérifier la propriété d'involution avant de passer à des chiffres classiques plus durs.

Ofuscation légère d'ID dans les démos

Les démos produit et captures d'écran remplacent numéros de commande ou chiffres téléphoniques d'exemple par ROT5 tout en gardant séparateurs et libellés lisibles pour l'auditoire.

Qu'est-ce que ROT5 ?

ROT5 fait tourner chaque chiffre ASCII 0–9 de cinq positions modulo 10. Zéro devient cinq, un devient six, et ainsi de suite ; cinq se mappe de nouveau sur zéro. Les non-chiffres restent inchangés.

Comment décoder du ROT5 ?

Appliquez ROT5 de nouveau. Le mappage est une involution : exécuter la même transformation deux fois restaure les chiffres d'origine.

ROT5 change-t-il les lettres ?

Non. Seuls les chiffres ASCII 0–9 sont réécrits. Lettres, espaces, ponctuation et autres caractères Unicode passent tels quels.

Que se passe-t-il avec une entrée vide ?

Une chaîne non vide est requise pour que les champs vides ne soient pas traités comme un résultat vide réussi.

Que deviennent les tirets et les espaces d'un numéro de téléphone ?

Ils restent exactement à leur place. Seuls les dix chiffres changent, si bien que la forme du numéro se conserve et reste reconnaissable dans une démonstration ou une capture d'écran.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/enc/rot5

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/enc/rot5 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Phone: 555-0199"}'
{
  "text": "Phone: 555-0199"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.rot5",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_chars100000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

L'entrée vide est rejetée avec une erreur claire invalid_input pour que les appelants ne traitent jamais un champ vide comme un no-op réussi. Le chemin est une pure arithmétique de caractères déterministe—sans réseau, sans graines aléatoires, sans dépendance à l'horloge—ainsi l'exécuteur gratuit du navigateur et l'API prépayée renvoient le même JSON à chaque fois.

Ce que ROT5 fait aux chiffres et ce qu'il laisse intact

Les chaînes vides ne sont pas ici une transformation identité valide : l'API les refuse avec invalid_input pour qu'un champ de formulaire manquant ne produise pas silencieusement une autre chaîne vide d'apparence réussie.

Comment appeler l'API et ce qui revient

La chaîne doit être non vide et ne pas dépasser la limite de caractères publiée de cent mille caractères. Envoyez un corps JSON avec un champ chaîne obligatoire nommé text. Les alias courants aussi acceptés par le solveur incluent input, value, data, message et s, pour que les clients existants qui étiquettent déjà une charge de texte libre puissent appeler cette capacité sans renommer la clé. En cas de succès la réponse renvoie la charge d'origine sous input, fixe à la fois result et text à la chaîne transformée par ROT5 pour que l'une ou l'autre clé convienne aux pipelines aval, rapporte digits_rotated comme le compte des chiffres ASCII remappés, non_digits comme le compte des caractères laissés inchangés, length comme le compte de caractères de sortie (toujours égal à la longueur d'entrée), formula comme le mnémonique court chiffre flèche parenthèse ouverte chiffre plus cinq parenthèse fermée mod dix, et message comme un résumé d'une ligne en anglais du nombre de chiffres déplacés. Une validation échouée—champ manquant, mauvais type, chaîne vide ou charge trop grande—renvoie invalid_input et n'est jamais facturée. Le prix est un forfait de $0.002 par requête réussie avec unité item et prix unitaire marginal zéro.

Conseils pratiques, limites et recherches liées

Préférez envoyer la chaîne mixte complète plutôt que de retirer d'abord la ponctuation quand le contexte environnant compte : les formats téléphoniques comme cinq cinq cinq tiret zéro un neuf neuf gardent leurs tirets et espaces tandis que seuls les chiffres tournent, ce que veulent exactement les rédactions de casse-tête et les démos de rédaction légère. Si votre source ne contient que des lettres, l'outil réussit encore et rapporte zéro chiffre tourné—c'est intentionnel, pas une erreur, car le chemin identité sur les non-chiffres fait partie de la définition du chiffre. Cette page cible les personnes qui cherchent un chiffre ROT5, un rotateur de chiffres ou un outil ROT de nombres en ligne ; ce n'est pas ROT13 pour lettres, pas un César général à décalage arbitraire, pas Base64, et pas un chiffrement qui offre le secret face à un attaquant motivé. Préférez cette capacité quand vous avez besoin d'une substitution uniquement de chiffres, transparente et réversible, pour démos, feuilles de travail ou étapes de casse-tête ; si vous avez besoin de rotation de lettres, utilisez plutôt un outil ROT13 orienté lettres. Pour décoder, rappelez le même endpoint avec le result précédent ; il n'y a pas de drapeau de mode à régler. Gardez les charges sous la longueur maximale publiée pour borner la mémoire Worker. En enseignement, associez des exemples : la suite de chiffres zéro un deux trois quatre cinq six sept huit neuf devient cinq six sept huit neuf zéro un deux trois quatre ; une chaîne style téléphone avec tirets montre la préservation de la ponctuation ; et une chaîne vide démontre le chemin dur invalid_input. Les tâches échouées qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui garde les scripts exploratoires peu chers quand les clients sondent des champs vides. Les contrôles aller-retour sont faciles : renvoyez le result et affirmez l'égalité avec l'original, et confirmez qu'une chaîne purement non-chiffres laisse result et input identiques tandis que digits_rotated reste zéro.

Tests unitaires de pipeline pour transformations de chiffres

Les suites de tests génèrent des chaînes de chiffres connues, affirment le mappage fixe (n+5) mod 10 et incluent un cas invalid_input d'entrée vide comme fixture négative.

Le chiffre ROT5 des chiffres est-il gratuit ?

L'outil navigateur est gratuit et s'exécute localement. Les appels API utilisent le solde prépayé KIT à $0.002 par requête réussie ; les tâches échouées ne sont jamais facturées.

Consulter la documentation complète du KIT →