Very different results from javascript.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, python
- Área
- security
Línea de trabajo
Reproduce los resultados informados para FooBar2016 y ZagDag2016 en las implementaciones de Python y JavaScript, y después compara sus clasificaciones de match_sequence, especialmente el tratamiento del sufijo numérico. Rastrea dónde divergen las dos implementaciones y haz que los resultados de Python sean coherentes con el comportamiento de JavaScript; se considera terminado cuando las contraseñas informadas producen puntuaciones y entropía coincidentes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The python code produces very different (and worrisome) results when compared to the javascript version. I use the python code in my change app to verify the password passes muster prior to changing it, so if anything I'd want it to be more strict that the client side JS version.
Password: FooBar2016
JS: score: 0, entropy: 18.541
Python: score: 2, entropy: 30.089
Password: ZagDag2016
JS: score: 2, entropy: 32.783
Python: score: 4, entropy: 44.264
If I had to choose I'd pick the JS version, the python one looks way too lenient.
(full result for FooBar2016 below.
JS:
Calling zxcvbn
{ password: 'FooBar2016',
entropy: 18.541,
match_sequence:
[ { pattern: 'dictionary',
i: 0,
j: 5,
token: 'FooBar',
matched_word: 'foobar',
rank: 908,
dictionary_name: 'passwords',
reversed: false,
base_entropy: 9.826548487290916,
uppercase_entropy: 4.392317422778761,
reversed_entropy: 0,
l33t_entropy: 0,
entropy: 14.218865910069677 },
{ pattern: 'regex',
token: '2016',
i: 6,
j: 9,
regex_name: 'recent_year',
regex_match: [Object],
entropy: 4.321928094887363 } ],
crack_time: 19.068,
crack_time_display: '19.068000000000023 seconds',
score: 0,
calc_time: 8 }
Python:
python -c 'import zxcvbn; print zxcvbn.password_strength("FooBar2016")'
{'crack_time_display': '17.0 hours', 'crack_time': 57103.66, 'score': 2, 'entropy': 30.089, 'password': 'FooBar2016', 'calc_time': 0.0005788803100585938, 'match_sequence': [{'l33t_entropy': 0, 'dictionary_name': 'passwords', 'matched_word': 'foobar', 'bas
e_entropy': 9.826548487290916, 'i': 0, 'pattern': 'dictionary', 'j': 5, 'rank': 908, 'token': 'FooBar', 'entropy': 14.285980105928214, 'uppercase_entropy': 4.459431618637297}, {'i': 6, 'pattern': 'spatial', 'j': 8, 'shifted_count': 0, 'token': '201', 'ent
ropy': 9.848831558033764, 'graph': 'keypad', 'turns': 2}, {'i': 9, 'pattern': 'bruteforce', 'j': 9, 'token': '6', 'entropy': 5.954196310386876, 'cardinality': 62}]}
- Lenguaje dominante
- HTML
- Estrellas
- 259
- Forks
- 56
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de dropbox/python-zxcvbn
-
CLAassistantAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
dropbox/python-zxcvbn#22 ·
-
Python 3 CompatabilityAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 38/100
dropbox/python-zxcvbn#17 · 2 comentarios ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 35/100
dropbox/python-zxcvbn#16 ·
-
OverflowError: math range errorAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
dropbox/python-zxcvbn#13 ·
-
Unittests missingAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
dropbox/python-zxcvbn#6 · 4 comentarios ·
Todos los issues de dropbox/python-zxcvbn
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
bug lompi sev-5
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
area:security documentation effort:S priority:P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
effort:low model:light plan planner:fable-5-1 test-quality tests
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
danielmiessler/LifeOS#2349 ·
Los mantenedores suelen responder en 11 días