Je cherche a réaliser un "generateur de texte" en javascript, je m'explique:
Si on passe "salut" a la fonction concernée, son role serait de parcourir tout l'alphabet jusqu'a trouver le texte qui correspond :
1ere boucle :
a, b, c,d .... z
2eme boucle :
[a, a], [a, b], ...[a, z]
3eme :
[a, a, a]....
Finale:
[s, a, l, u, t]
Mon approche :
je décompose une chaine de charactere temporaire en un tableau de valeur ascii, et je souhaite faire une boucle ayant l'approche du dessus cependant je vous avoue ne pas trop savoir comment m'y prendre, merci de votre aide et bonne soirée/journée a vous !
Cette procédure n'est vraiment pas le genre de chose que tu devrais envisagé a mon avis.
De la façon dont je comprends ce que tu veux faire, pour un mot comme "salut" avec 5 lettres, si tu ne considère que les lettres en tant que tel sans les nombres ni leurs équivalents avec des accents ni les espace (donc 26 possibilité), tu te retrouve jusqu’à un nombre total maximum d'itération dans tes boucles de :
'salut'.split('').reduce((a, c, i) => a += Math.pow(26, i + 1), 0) // === 12356630
12356630 itérations... pour obtenir toute les solutions possibles d'assemblage de lettre. En vérité, c'est moins que ça puisque tu semble décider à arrêter ta boucle quand tu atteins le mot "salut", mais le nombre d'itération reste considérable.
Et tu n'es qu'a ton premier mot, je préfère ne pas imaginer avec un texte complet.
Je ne sais pas vraiment pourquoi tu veux boucler de cette manière, peut-être que tu devrais nous dire plus en détail ce que tu souhaite faire...
Yop, je suis étudiant en cybersécurité et nombreux de nos exercices nous demandent de récupérer la chaine de caractere déchiffrée d'un hash md5.
L'option pour laquelle j'ai optée se rapproche donc beaucoup d'un bruteforce, chaque itération nous donne un nouveau hash qui est comparé a celui attendu.
Les mots chiffrés sont souvent des textes générés aléatoirement de longueur variable. On peut avoir 'test' comme 'kawdnbiaha1' donc il me semblait que c'etait le moyen le plus fiable d'atteindre le resultat (PS: nous avons été interdit de chercher le hash dans des banques de md5 déchiffrés)
L'exemple que j'ai donné s'applique a l'alphabet mais dans mon cas j'ai préféré etre large sur le type de caractere qu'on peut retrouver dans le hash a dechiffrer, donc j'ai choisis de faire des itérations du charcode 32 a 173. Le code s'éxecute (etonnamment) vite meme pour des chaines de caracteres longue cependant je pense que la facon dont je structure mes boucles n'est pas bonne car en regardant les logs des chaines de caracteres générées et bien on obtient ce resultat:
Ici le log présente sous la forme : HASH_GENERE (chaine de caractere generee) | hash_attendu | longueur de la chaine de caractere actuelle (Je sais que le hash généré sur le screen ne correspond pas a la chaine de caractere j'ai désactivé temporairement la generation md5 le temps que la géneration de chaine fonctionne bien)
Je ne peux pas stopper la boucle en fonction de la longueur du hash attendue car l'exercice de base nous donne uniquement le hash, mais pour l'exemple j'ai convertit en md5 la chaine de caractere 'alex'.
Merci pour votre aide
- Edité par NextrieSH 5 décembre 2019 à 15:01:52
Generateur de texte
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.