Clave de firma de anagramas
«listen» y «silent» dan la misma firma, eilnst: sus letras ordenadas siempre igual, de modo que cualquier reordenación de una palabra comparte clave. Sirve para agrupar familias de anagramas, corregir acertijos o emparejar «Debit card» con «Bad credit». Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- listen
- Firma
- eilnst
- Longitud
- 6
- Longitud de la firma
- 6
Una firma de anagrama es el multiconjunto de letras de una palabra o frase escrito en un orden fijo, de modo que toda reordenación comparte la misma clave. Quien resuelve crucigramas, canalizaciones de diccionarios y herramientas de aula necesitan esa clave para agrupar listen con silent, emparejar Debit card con Bad credit e indexar familias de anagramas sin generar cada permutación. Esta capacidad de firma de anagramas acepta una cadena de texto, opcionalmente conserva solo letras Unicode y unifica mayúsculas y minúsculas, ordena los caracteres restantes de forma estable ascendente y devuelve la cadena de firma canónica junto con campos de longitud y las opciones resueltas.
Qué es una firma de anagrama y por qué funcionan las letras ordenadas
Dos cadenas son anagramas entre sí cuando usan las mismas letras el mismo número de veces, ignorando el orden. El truco clásico de ingeniería es mapear cada cadena a una firma que codifica ese multiconjunto: pasar las letras a minúsculas, eliminar espacios y puntuación si se emparejan palabras y no bolsas completas de caracteres, luego ordenar los caracteres restantes en orden ascendente y unirlos.
Tras esa transformación, listen y silent se convierten ambas en eilnst, y pares de frases más largas como Debit card y Bad credit colapsan a la misma clave cuando desaparecen los espacios. Ordenar basta porque un multiconjunto de caracteres queda plenamente determinado por la secuencia ordenada; no hace falta productos de factores primos por letra, máscaras de bits limitadas a veintiséis letras inglesas ni generadores costosos de permutaciones.
El filtro de letras Unicode con la clase letter conserva en la firma los scripts latinos con acentos, griego y cirílico cuando aparecen, mientras que dígitos y símbolos salen en el modo predeterminado de solo letras. La unificación de mayúsculas por defecto coincide con cómo se habla habitualmente de anagramas de palabras: Listen y silent no deben formar grupos distintos solo por la capitalización.
El extremo nunca afirma significado lingüístico, nunca inventa definiciones de diccionario y nunca enumera reordenaciones; solo construye la clave determinista en la que se apoyan los algoritmos de agrupación y emparejamiento. Como la ordenación usa el orden simple de unidades de código UTF-16 y no una colación de locale, la misma cadena produce siempre la misma firma entre entornos de ejecución y hosts.
Qué puede hacer con ella
Agrupación de diccionarios y juegos de palabras
Indexe cada palabra por su firma de letras ordenadas para que las búsquedas de anagramas devuelvan el grupo completo en una sola consulta de mapa hash o base de datos.
Comprobaciones de anagramas en el aula
Compare la respuesta de un estudiante con una frase objetivo por igualdad de firmas en lugar de ordenar cadenas de forma ad hoc en cada script de calificación.
Emparejamiento de anagramas de frases
Empareje frases de varias palabras como Debit card y Bad credit tras el filtrado de solo letras, que elimina espacios y unifica mayúsculas y minúsculas.
Preguntas frecuentes
¿Comparten listen y silent la misma firma?
Sí. Ambas se mapean a eilnst con las opciones predeterminadas, de modo que puede agruparlas o emparejarlas comparando las cadenas de signature.
¿Qué ocurre si text está vacío?
La entrada vacía no es una petición de firma válida y no se factura.
¿Cuentan los espacios y las mayúsculas?
Por defecto, no. Solo se conservan las letras y antes se pasan a minúscula, por eso «Debit card» y «Bad credit» comparten clave. Puede optar por conservar todos los caracteres, espacios y cifras incluidos, y por distinguir las mayúsculas.
¿Cómo agrupo una lista de palabras en familias de anagramas?
Calcule la firma de cada palabra y agrúpelas por ella. Todos los miembros de una familia comparten la misma clave, así que una sola búsqueda devuelve el grupo entero sin generar ninguna reordenación.
¿Funciona con letras acentuadas y otros alfabetos?
Sí. Las letras latinas con tilde, el griego y el cirílico se mantienen en la firma, mientras que las cifras y los símbolos desaparecen cuando solo se conservan letras. El orden es fijo, así que el mismo texto da siempre la misma clave.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/str/anagram-signature \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"listen"}'const res = await fetch("https://api.kit.forhosting.com/str/anagram-signature", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "listen"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/anagram-signature",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "listen"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/anagram-signature", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"listen"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"listen"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/anagram-signature", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "listen"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.anagram_signature",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_chars | 100000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
La entrada vacía falla con invalid_input en lugar de inventar una clave hueca, mientras que las bolsas solo de puntuación en modo solo letras tienen éxito con una firma vacía que aún puede usarse como clave de grupo.
Qué es una firma de anagrama y por qué funcionan las letras ordenadas
Cuando necesite un multiconjunto crudo de caracteres para bolsas exactas—incluidos espacios, dígitos y puntuación—fije letters_only en false y opcionalmente case_sensitive en true para que cada unidad de código participe.
Contrato de entrada, forma de la respuesta y comportamiento de errores
Combine la clave con sus propios mapas hash o índices de base de datos si necesita búsqueda de anagramas de varias palabras; este extremo solo emite la firma y no escanea un diccionario ni devuelve palabras candidatas. Envíe por POST un cuerpo JSON con un campo obligatorio, text, la cadena no vacía que desea convertir en firma. Se aceptan los alias input, string, value, content y s para que los scripts reutilicen nombres habituales. El opcional letters_only vale true por defecto y también puede enviarse como lettersOnly, alpha_only o alphaOnly; cuando es true solo permanecen letras Unicode antes de ordenar, y cuando es false se conserva cada carácter de la cadena (opcionalmente en minúsculas). El opcional case_sensitive vale false por defecto y también puede enviarse como caseSensitive o sensitive; cuando es false el texto se pasa primero a minúsculas para que anagramas con mayúsculas mixtas compartan clave, y cuando es true se conserva la capitalización para que A y a sigan distintas en la firma ordenada. Falta de text, cadenas vacías, objetos y matrices que no son cadenas, y números no finitos fallan con invalid_input y un mensaje que nombra el problema—esos fallos de validación no se facturan. El texto que supera el límite max_chars declarado también se rechaza. En caso de éxito el cuerpo repite el text original y su length, informa signature como la clave ordenada unida, signature_length como la longitud de la clave tras el filtrado, letters_only y case_sensitive como booleanos resueltos, y method igual a anagram_signature. Ejemplo: listen con valores predeterminados produce signature eilnst y signature_length seis.
Dónde una API de firma de anagramas aporta valor
Los backends de juegos de palabras y las herramientas de crucigramas necesitan una clave de grupo estable para que toda palabra que reordena las mismas letras caiga en un mismo cubo en búsquedas y clasificaciones. Las plataformas docentes usan la firma como oráculo: el estudiante envía un anagrama candidato y el calificador compara firmas en lugar de ordenar en cada cliente. La validación fallida no consume saldo. Las canalizaciones de limpieza de datos que deduplican nombres de producto o etiquetas difusas a veces tratan las bolsas de letras como un primer paso barato antes de modelos de similitud más pesados, y una API de análisis diminuta evita reimplementar filtros de letras Unicode y el orden de clasificación en cada lenguaje. Como la implementación es parse de nivel A puro, cada llamada exitosa cuesta el precio base publicado $0.002 sin tokens de modelo ni red de salida.
Preguntas técnicas
¿Cómo obtengo la firma de anagrama de una palabra?
Envíe una cadena de texto no vacía. Con los valores predeterminados (letters_only true, case_sensitive false) la API pasa las letras a minúsculas, elimina lo que no es letra, las ordena de forma ascendente y devuelve signature.
¿Qué controla letters_only?
Cuando es true (predeterminado), solo permanecen letras Unicode antes de ordenar—espacios, dígitos y puntuación se eliminan. Cuando es false, cada carácter participa en la firma.
¿Cuánto cuesta la herramienta de firma de anagramas?
La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago KIT a $0.002 por llamada exitosa; la entrada inválida no se factura.