Aller au contenu
snowkitDev

Créer un hachage SHA-256, d'un texte ou d'un fichier

Saisissez du texte ou choisissez un fichier jusqu'à 1 Go pour obtenir son hachage SHA-256, en hexadécimal ou Base64, avec SHA-1, SHA-384, SHA-512 et MD5 à côté.

Formater le JSON

Vérifiez-le, mettez-le en forme ou mettez-le sur une seule ligne

Résultat
Options
Retrait

Vérifié au fil de la frappe, sur cet appareil

Collez une somme de contrôle publiée pour confirmer qu'un téléchargement est arrivé intact. Les fichiers sont lus sur votre appareil et jamais envoyés.

Collez sans souci des réponses d'API, des jetons et des clés : rien ne quitte cette page.

Dix outils pour développeurs sur une seule page

Ce sont les petites conversions qui reviennent tous les jours : mettre en forme une réponse d'API, transformer un export en tableur, vérifier un jeton, générer des identifiants de test. Chaque onglet fonctionne seul et garde sa saisie quand vous changez d'onglet, et chaque onglet a sa propre adresse, comme #jwt ou #regex, pour que vous puissiez mettre en favori celui que vous utilisez le plus.

Rien de ce que vous collez n'est envoyé. La page n'a pas de serveur derrière elle et sa politique de sécurité bloque toute connexion réseau : les jetons, clés et données clients restent donc dans cet onglet du navigateur.

Formateur et validateur JSON

Collez du JSON pour le vérifier et le mettre en forme avec 2 espaces, 4 espaces ou des tabulations, ou le minifier sur une seule ligne. Si le JSON n'est pas valide, vous obtenez la ligne et la colonne du problème et une explication claire, par exemple une virgule finale, un guillemet manquant, des guillemets simples ou un commentaire, que le JSON n'autorise pas.

  • Les nombres restent exactement tels qu'écrits. De nombreux formateurs font passer le JSON par JavaScript, qui arrondit 12345678901234567890 en 12345678901234567000 et transforme 1.50 en 1.5. Celui-ci conserve chaque nombre caractère pour caractère.
  • L'ordre des clés est conservé, y compris pour les clés qui ressemblent à des nombres, sauf si vous choisissez Trier les clés.
  • Les clés en double sont signalées avec leurs numéros de ligne, car la plupart des programmes ne gardent silencieusement que la dernière.
  • La vue en arborescence montre la structure sous forme de dossiers que vous pouvez ouvrir et fermer, ce qui aide pour les grosses réponses.

JSON en CSV et CSV en JSON

JSON en CSV prend une liste d'objets et crée une ligne par objet. Les objets imbriqués sont aplatis en colonnes avec des chemins pointés : {"stock": {"web": 12}} devient donc une colonne nommée stock.web. Les listes deviennent une colonne par élément, ou restent en JSON dans une seule cellule, et les listes et objets vides laissent leurs cellules vides. Les cellules qui contiennent le séparateur, des guillemets ou des sauts de ligne sont entre guillemets de la façon standard, avec les guillemets doublés : Excel, Google Sheets et Numbers les lisent donc correctement.

CSV en JSON détecte si les cellules sont séparées par des virgules, des points-virgules, des tabulations ou des barres verticales, gère les cellules entre guillemets contenant des sauts de ligne et retransforme les colonnes à chemin pointé en objets imbriqués. Les nombres, true, false et les cellules vides deviennent de vraies valeurs JSON. Les nombres avec des zéros au début, comme les codes postaux et les numéros de téléphone, restent du texte, tout comme les nombres entiers trop grands pour être stockés exactement.

JSON en YAML et YAML en JSON

La sortie YAML met entre guillemets toute valeur qu'un lecteur YAML pourrait mal interpréter : des mots comme yes, no, on et off, des numéros de version comme 1.10, des nombres avec des zéros au début, des dates, du texte qui commence par un caractère spécial ou contient deux-points suivi d'une espace. Le texte multiligne est écrit sous forme de bloc lisible avec |.

Le lecteur YAML suit YAML 1.2, la version actuelle, et prend en charge ce qu'utilisent les vrais fichiers de configuration : mappages et listes imbriqués, collections en ligne [ ] et { }, texte entre guillemets avec échappements, blocs | et >, commentaires, ancres et alias, clés de fusion << et plusieurs documents séparés par ---. Il ne prend pas en charge les clés complexes qui commencent par ?, et les balises personnalisées comme !Ref sont abandonnées tandis que leurs valeurs sont conservées. Les erreurs indiquent la ligne et la colonne.

Encodage Base64, URL et HTML

  • Le Base64 encode le texte en UTF-8 : les accents, emoji et autres écritures survivent donc à l'aller-retour. Le décodage accepte le Base64 standard et sûr pour les URL, avec ou sans remplissage ni sauts de ligne. Si les octets décodés ne sont pas du texte, comme une image, vous voyez de quel type de fichier il s'agit et pouvez le télécharger. Un fichier jusqu'à 10 Mo peut être transformé en URL de données pour HTML ou CSS.
  • Le codage d'URL a deux portées. Une partie encode tout ce qui a une signification dans une adresse, ce qui convient à une seule valeur de requête. Adresse entière conserve des caractères comme :, /, ? et & et n'encode que les espaces et autres caractères non sûrs. Une adresse complète est découpée en ses parties, avec chaque paramètre de requête décodé.
  • Les entités HTML transforment <, >, & et les guillemets en texte sûr pour HTML, et le décodage comprend toutes les entités nommées, comme &eacute;, ainsi que les entités numériques.

Convertisseur d'horodatage Unix

Un horodatage Unix compte les secondes écoulées depuis le 1er janvier 1970 à minuit UTC. De nombreux systèmes, dont JavaScript, comptent plutôt en millisecondes, et certains en microsecondes ou en nanosecondes. Collez un nombre et son unité est détectée d'après le nombre de chiffres, ou définissez-la vous-même. Vous obtenez la date en UTC et dans n'importe quel fuseau horaire, l'ISO 8601 avec le décalage, le format de date HTTP et e-mail, le jour de l'année, la semaine ISO et le temps écoulé ou restant. Cela fonctionne aussi dans l'autre sens : saisissez une date et une heure pour obtenir l'horodatage.

Générateur d'UUID

Créez jusqu'à 1 000 UUID à la fois. La version 4 est entièrement aléatoire et constitue le choix par défaut sûr pour la plupart des usages. La version 7, définie dans la RFC 9562, commence par un horodatage en millisecondes : les identifiants créés plus tard se trient donc après les précédents, ce qui convient aux clés de base de données. Les UUID créés dans un même lot gardent leur ordre, même dans la même milliseconde. Collez n'importe quel UUID dans Inspecter pour voir sa version, sa variante et, pour les versions 1, 6 et 7, quand il a été créé.

Générateur de hachage

Obtenez d'un coup les hachages MD5, SHA-1, SHA-256, SHA-384 et SHA-512 de n'importe quel texte ou fichier. Les hachages SHA utilisent le Web Crypto intégré à votre navigateur, et le MD5 est calculé par cette page. Collez une somme de contrôle publiée dans Comparer avec pour vérifier qu'un téléchargement est arrivé intact : le hachage correspondant est marqué, quel que soit l'algorithme. Le texte est haché en UTF-8, comme avec sha256sum ou openssl sur un fichier contenant ce texte sans saut de ligne final.

Générateur de mots de passe et de phrases secrètes

Les mots de passe sont construits à partir du générateur de nombres aléatoires cryptographique de votre navigateur, sans biais entre les caractères. Choisissez la longueur et les types de caractères, et écartez les caractères faciles à confondre quand on lit un mot de passe à voix haute ou qu'on le recopie depuis un papier. Au moins un caractère de chaque type choisi est inclus.

Une phrase secrète enchaîne des mots aléatoires tirés d'une liste d'environ 1 400 mots anglais courts et courants. Six mots aléatoires sont plus faciles à saisir et à retenir qu'un fouillis de symboles, et restent très difficiles à deviner. La robustesse affichée est l'entropie en bits, qui suppose qu'un attaquant sait exactement comment le mot de passe a été créé, et la durée correspond au temps qu'il faudrait pour essayer la moitié de toutes les possibilités à dix milliards d'essais par seconde.

Décodeur JWT

Un JSON Web Token comporte trois parties : un en-tête, une charge utile de revendications et une signature. Collez un jeton pour lire l'en-tête et la charge utile, avec les heures exp, nbf et iat affichées sous forme de dates et une note claire quand le jeton a expiré ou n'est pas encore valide.

Décoder n'est pas vérifier. N'importe qui peut créer un jeton avec n'importe quelle charge utile : ne vous fiez donc jamais à ce que dit un jeton avant d'en avoir vérifié la signature. Pour les jetons signés avec HS256, HS384 ou HS512, saisissez le secret partagé pour vérifier la signature ici avec Web Crypto. Les jetons signés avec RS256, ES256 et d'autres méthodes à clé publique demandent la clé publique de l'émetteur, et cette page ne les vérifie pas.

Testeur de regex

Saisissez une expression régulière JavaScript et du texte pour voir chaque correspondance surlignée, avec un tableau des positions, des groupes numérotés et nommés, et un aperçu en direct d'un remplacement. Les motifs s'exécutent dans un worker d'arrière-plan distinct avec une limite de temps : un motif qui ne finirait jamais, comme (a+)+$ sur une longue ligne de a, est arrêté après une seconde et demie et la page continue de fonctionner.

Confidentialité

Il n'y a ni compte, ni outil d'analyse, ni serveur derrière cette page, et la page n'a pas le droit de faire de requêtes réseau. Vos saisies et réglages des onglets JSON, CSV, YAML, encodage et regex sont conservés dans le stockage de ce navigateur pour être encore là la prochaine fois, hors textes très longs. Les JWT, secrets, entrées de hachage et mots de passe générés ne sont jamais conservés. Appuyez sur Effacer dans un onglet pour supprimer ce qu'il contient.

Questions

Est-ce sans risque de coller ici un jeton de production ou une réponse d'API ?

Tout s'exécute dans cet onglet et rien n'est envoyé ailleurs : les données ne quittent donc pas votre appareil. Comme pour tout secret, fermez l'onglet quand vous avez terminé sur un ordinateur partagé.

Pourquoi mes booléens YAML ressortent-ils en texte ?

YAML 1.2 ne lit que true et false comme booléens. Les anciens outils YAML 1.1 lisent aussi yes, no, on et off de cette façon : quand l'un d'eux apparaît, une note s'affiche. Mettez la valeur entre guillemets dans votre YAML pour que l'intention soit claire pour tous les outils.

Puis-je vérifier des jetons RS256 ?

Pas encore. Le décodeur les lit, mais la vérification demande la clé publique de l'émetteur, que cette page ne prend pas en charge.

Quelle syntaxe de regex est utilisée ?

Celle de JavaScript, telle qu'intégrée à votre navigateur, avec lookbehind, groupes nommés et échappements de propriétés Unicode avec l'indicateur u. La plupart des motifs se comportent de la même façon dans d'autres langages, mais certaines fonctions diffèrent, comme les quantificateurs possessifs, que JavaScript n'a pas.

Et ensuite

Poursuivez avec ce que vous venez de créer, toujours sur votre appareil.

Plus de Snowkit