Comparez taille et sécurité des algorithmes de hachage
Cet outil transforme le nom d’un algorithme de hachage en deux informations de sécurité utiles : la taille fixe de son condensat en bits et l’état actuel de sa résistance aux collisions.
Lancer gratuitement
Il accepte les graphies et séparateurs courants, renvoie un nom canonique et refuse explicitement tout algorithme inconnu. Utilisez-le pour examiner une configuration, expliquer une migration ou empêcher un condensat obsolète d’intégrer un nouveau système. Le résultat JSON convient directement aux règles automatisées et à la documentation technique.
Ce que la comparaison vous apprend
Une fonction de hachage transforme une entrée de taille quelconque en condensat de taille fixe. L’outil indique cette taille sans traiter vos données et précise si des attaques pratiques par collision sont connues. Une collision apparaît lorsque deux entrées différentes donnent le même condensat. Une valeur vraie appelle une migration ; une valeur fausse signifie seulement qu’aucune rupture pratique ne figure dans cette classification, et non que tous les usages sont sûrs.
Noms, alias et résultats déterministes
Les noms prennent diverses formes. SHA-256, sha256 et SHA_256 sont normalisés vers le même algorithme, puis la réponse emploie une graphie canonique. BLAKE2b et BLAKE2s désignent ici leurs variantes classiques de 512 et 256 bits. La liste reste volontairement finie : un nom inconnu provoque une erreur plutôt qu’une supposition. Sans réseau, horloge ni hasard, une même entrée produit toujours le même JSON.
Interprétez correctement l’état des collisions
La résistance aux collisions n’est qu’une propriété. Une valeur fausse ne recommande pas l’algorithme pour les mots de passe, l’authentification, les signatures ou chaque protocole. Les mots de passe exigent une fonction spécialisée avec sel et coût réglable ; l’authentification nécessite généralement HMAC. Servez-vous du résultat pour signaler MD5, SHA-1 et les autres choix compromis, puis appliquez les normes et le modèle de menace de votre système. Consultez les recommandations actuelles lors de chaque migration.
Cas d’usage
Auditer une configuration
Convertissez les noms des manifestes ou réglages en données cohérentes et signalez les collisions compromises.
Préparer une migration
Comparez la taille et l’état d’un ancien algorithme avec son remplaçant avant de modifier vos schémas.
Valider une documentation technique
Vérifiez qu’un document indique la bonne taille et utilise le nom canonique.
Questions fréquentes
Quel est le tarif ?
Chaque requête API coûte $0.002. La comparaison déterministe fonctionne aussi dans le navigateur.
Cet outil hache-t-il mes données ?
Non. Il reçoit uniquement le nom de l’algorithme et renvoie ses propriétés.
Que signifie une résistance aux collisions compromise ?
Des méthodes pratiques permettent de créer des entrées différentes produisant le même condensat.
Une valeur fausse convient-elle aux mots de passe ?
Non. Ils exigent une fonction spécialisée, avec sel et coût réglable.
Quelles graphies sont acceptées ?
La casse et les séparateurs courants sont ignorés ; SHA-256, sha256 et SHA_256 sont équivalents.
Que se passe-t-il pour un algorithme inconnu ?
La requête échoue comme entrée invalide, sans estimation ni sélection d’un nom voisin.
Pour les développeurs — accès API
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.
Endpoint
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é.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/security/hash-algorithm-compare \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"algorithm":"SHA-256"}'const res = await fetch("https://api.kit.forhosting.com/security/hash-algorithm-compare", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"algorithm": "SHA-256"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/security/hash-algorithm-compare",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"algorithm": "SHA-256"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/security/hash-algorithm-compare", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"algorithm":"SHA-256"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"algorithm":"SHA-256"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/security/hash-algorithm-compare", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"algorithm": "SHA-256"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.hash_algorithm_compare",
"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.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |