No de ninguna manera confiable. En teoría, un conjunto de caracteres más grande aumenta el espacio de búsqueda para el atacante, pero eso solo le ayuda de manera confiable si selecciona contraseñas al azar (literalmente al azar, por ejemplo lanzando dados ), que sospecho que no es lo que tienes en mente.
Pero en la práctica, hay varios problemas. En primer lugar, hay demasiados programadores que son incompetentes y desdeñosos en lo que respecta a las codificaciones de caracteres, y que rutinariamente escriben software que no los manejan de manera constante. Así que arriesgas todo tipo de problemas:
- Un sitio web puede hacer algo gracioso para los caracteres que llevan diacríticos de sus contraseñas, como reemplazarlos con
?
o simplemente eliminarlos. Esto es terrible , porque su contraseña en ese caso no tiene la fuerza que esperaba y ni siquiera sería capaz de decir .
- Supongamos entonces que tal sitio web actualiza su software para corregir el error. ¡Vaya, ahora ya no reconoce tu contraseña!
- O los desarrolladores, sin pensarlo mucho, podrían decidir implementar una verificación de "contraseña permitida" en el front-end que prohíba los caracteres no ASCII.
En segundo lugar, la forma en que te estás aproximando a la pregunta puede reducirse a esto:
- "¿Puedo ser más astuto que los crackers de contraseñas si uso este truco inteligente?"
Van a pasar mucho más tiempo estudiando cómo ser más astutos que los usuarios que lo que vas a pasar estudiando cómo ser más astuto que ellos. Solo leerán todo lo que puedan encontrar en Internet sobre cómo las personas eligen sus contraseñas (¡incluida esta pregunta!) Y aprenderán de ellas para mejorar sus ataques de contraseñas. Recuerde, no solo intentan descifrar su contraseña adivinándola individualmente: programan computadoras realmente poderosas para probar millones de contraseñas por segundo y las usan para adivinar las contraseñas de miles de usuarios a la vez.
No lo sé, pero seguro que no apostaría por ti.
La única forma confiable de vencer a los crackers de contraseñas es elegir contraseñas al azar de un conjunto muy grande. La página de Electronic Frontier Foundation sobre la creación de contraseñas seguras tiene un buen consejo. Lo más importante es utilizar un programa de administración de contraseñas para generar y almacenar una contraseña única y aleatoria para cada sitio . Eso es todo.