Calcul tres balaise

cs_bobo91 Messages postés 107 Date d'inscription dimanche 27 juin 2004 Statut Membre Dernière intervention 12 novembre 2006 - 19 août 2004 à 21:19
cs_kelly Messages postés 55 Date d'inscription jeudi 1 mai 2003 Statut Membre Dernière intervention 9 septembre 2004 - 7 sept. 2004 à 18:28
bonjour tous le monde.

j'aimerais savoir s'il etait possible de trouver une solution tres rapide pour un tel calcul avec vb6.
et si oui quelqu'un pourrait me donner une statistique de temps pour le trouver.

j'ai 10 caractères ascII (a trouver)
je converti toutes ces valeurs en hexadecimale.

1ere valeur hex doit etre < que 2eme valeur hex
2eme valeur hex doit etre > que 3eme valeur hex
3eme valeur hex doit etre < que 4eme valeur hex
4eme valeur hex doit etre > que 5eme valeur hex
5eme valeur hex doit etre < que 6eme valeur hex
6eme valeur hex doit etre > que 7eme valeur hex
7eme valeur hex doit etre < que 8eme valeur hex
8eme valeur hex doit etre > que 9eme valeur hex
9eme valeur hex doit etre < que 10eme valeur hex
10eme valeur hex doit etre > que 1ere valeur hex

hex1 + hex2 + hex3 + hex4 + hex5 + hex6 + hex7 + hex8 + hex9 + hex10 doit etre = 30D

merci de bien vouloi m'aider et bonne continuation a tous.

2 réponses

cs_bobo91 Messages postés 107 Date d'inscription dimanche 27 juin 2004 Statut Membre Dernière intervention 12 novembre 2006
21 août 2004 à 21:49
une reponse a cette question me serait d'une grande aide alors dite quelque chose svp les expert vb6 mais ne laisser pas une page vierge pour une question comme ca merci encore pour votre soutient.

comme tous le monde s'en doute oui c'est une routine de verification d'un serial et alors?...

pour ceux qui croivent que c'est dans le but de cracker un logiciel
avec un copyright il sont complètement a coté de la réalité.

que penser vous de cette routine?

bonne continuation et bonne reflexion a vous.
0
cs_kelly Messages postés 55 Date d'inscription jeudi 1 mai 2003 Statut Membre Dernière intervention 9 septembre 2004
7 sept. 2004 à 18:28
Salut!

La description de ton pb est plutot vague et je pense que c'est pour ca que tu n'as pas eu de réponse ...

Il me semble qu'il y a plus d'une solution à ton problème (plusieurs chaines de 10 caracteres qui vérifient les hypothèses).

De plus, je ne comprends pas pourquoi tu parles d'hexadécimal : l'arithmétique (au sens mathématique) est la meme quelle que soit la base de numération employée...

Si je pars du principe que chaque caractère a une valeur comprise entre 32 et 128 (s'il s'agit effectivement de caractères affichable codés en ASCII) alors je te suggère cette routine pour générer un serial :

Private Function genere_char() As Long
genere_char = CLng(Rnd * CSng(128 - 32)) + 32
End Function

Private Function genere_serial() As String
Dim serial As String
Dim i As Integer
Dim last_char As Long

serial = Chr(genere_char())

Do: last_char = genere_char()
Loop Until last_char >= Asc(Mid(serial, 1, 1))
serial = serial & Chr(last_char)

Do: last_char = genere_char()
Loop Until last_char <= Asc(Mid(serial, 2, 1))
serial = serial & Chr(last_char)

Do: last_char = genere_char()
Loop Until last_char >= Asc(Mid(serial, 3, 1))
serial = serial & Chr(last_char)

Do: last_char = genere_char()
Loop Until last_char <= Asc(Mid(serial, 4, 1))
serial = serial & Chr(last_char)

Do: last_char = genere_char()
Loop Until last_char >= Asc(Mid(serial, 5, 1))
serial = serial & Chr(last_char)

Do: last_char = genere_char()
Loop Until last_char <= Asc(Mid(serial, 6, 1))
serial = serial & Chr(last_char)

Do: last_char = genere_char()
Loop Until last_char >= Asc(Mid(serial, 7, 1))
serial = serial & Chr(last_char)

Do: last_char = genere_char()
Loop Until last_char <= Asc(Mid(serial, 8, 1))
serial = serial & Chr(last_char)

Do: last_char = genere_char()
Loop Until last_char >= Asc(Mid(serial, 9, 1))
serial = serial & Chr(last_char)

genere_serial = serial
End Function


Voilà, ca n'est pas très élégant, et j'ai fait passer tes inégalités strictes en inégalités larges (pour simplifier : une boucle "Do...Loop until" peut se bloquer dans l'état actuel des choses si je laisse les inégalités strictes).
Mais ca marche.

Tiens moi au courant !
0
Rejoignez-nous