Cryptage
tomac
Membre
Bonjour,
Dans mon programme j'ai besoin de crypter un mot de passe mais voilà un ami ma fais l'algorithme en C++ ce qui donne cela :
Et voici comment j'ai essayer de le traduire en Objective-C mais sa provoque une erreur à chaque fois :
Voici la description de mes variables :
stringEnter -> correspond au texte entré par l'utilisateur (le mot de passe)
stringKey -> correspond à la clé de cryptage entré par l'utilisateur
Voilà je continue de chercher comment faire marcher cette algorithme mais votre aide me serai utile.
Merci d'avance...
Dans mon programme j'ai besoin de crypter un mot de passe mais voilà un ami ma fais l'algorithme en C++ ce qui donne cela :
string CryptPassword(string Key, string Password)<br />{<br /> char HASH[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',<br /> 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',<br /> 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '_'};<br /><br /> string _Crypted = "#1";<br /><br /> for(int i = 0; i < Password.length(); i++)<br /> {<br /> char PPass = Password[i];<br /><br /> char PKey = Key[i];<br /><br /> int APass = (int)PPass / 16;<br /><br /> int AKey = (int)PPass % 16;<br /><br /> int ANB = (APass + (int)PKey) % sizeof(HASH);<br /> int ANB2 = (AKey + (int)PKey) % sizeof(HASH);<br /> <br /> _Crypted += HASH[ANB];<br /> _Crypted += HASH[ANB2];<br /><br /> }<br /> return _Crypted;<br />}
Et voici comment j'ai essayer de le traduire en Objective-C mais sa provoque une erreur à chaque fois :
NSString *password = [password initWithString:stringEnter];<br /> NSString *key = [key initWithString:stringKey];<br /> NSArray *hash = [NSArray arrayWithObjects:@"a", @"b", @"c", @"d", @"e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",<br /> "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U",<br /> "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-", "_"];<br /> <br /> NSString *crypted = [crypted initWithString:@"#1"];<br /> int longeurPassword = [password length];<br /> int i;<br /> for(i = 0; i < longeurPassword; i++)<br /> {<br /> <br /> char pPass = (@"%@",[password characterAtIndex: i]);<br /> <br /> char pKey = (@"%@",[key characterAtIndex: i]);<br /> <br /> int aPass = (int)pPass / 16;<br /> <br /> int aKey = (int)pPass % 16;<br /> <br /> int aNB = (aPass + (int)pKey) % sizeof(hash);<br /> int aNB2 = (aKey + (int)pKey) % sizeof(hash);<br /> <br /> crypted = (@"%@%@",crypted ,[hash objectAtIndex:aNB]);<br /> crypted = (@"%@%@",crypted ,[hash objectAtIndex:aNB2]);<br /> <br /> }<br />
Voici la description de mes variables :
stringEnter -> correspond au texte entré par l'utilisateur (le mot de passe)
stringKey -> correspond à la clé de cryptage entré par l'utilisateur
NSString *crypted = [crypted initWithString:@"#1"];
-> tous les mot de passe une fois crypter commence par "#1"Voilà je continue de chercher comment faire marcher cette algorithme mais votre aide me serai utile.
Merci d'avance...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Si oui, pourquoi ne pas utiliser bêtement un algorithme de "sha1" ?
Si non, c'est bête de donner l'algo dans un forum public :P
C'est une injection d'un groupe 256*256 dans un groupe 64*64, ça devrait donner à peu près 16 possibilités par caractère, dont beaucoup dans des caractères non imprimables, à mon avis c'est fortement jouable
Et pour un peu que tu m'en donnes deux encryptés avec la même clé, là à mon avis il tient pas 2 secondes :P
Le mot de passe : test123
Le mot de passe crypté : #11Ya__7PM535400
J'ai corriger mon code mais celui-ci ne marche toujours pas. Si le tient marche pourrais tu me le passer ?
Merci d'avance
Mais vu la tronche dans le premier message, je suppute que tu as d'énormes soucis avec l'Objective-C... Je ne comprends pas comment tu as pu pondre quelque chose dans lequel tu veux insérer cette fonction. ???
Soit en brut force, seulement 108000 possibilités...
Et avec un peu d'instinct, ça se trouve.