Question

Je vais mettre en œuvre générateur de clé de licence sur mon site mais j'ai très peu de php connaissances! Dans mon (Cocoa) application que j'ai intégrer une vérification du système qui utilisent la fonction RSA_sign (en C #) ... Je voudrais utiliser le système de notification paypal IPN pour générer et envoyer automatiquement à mes utilisateurs leurs clés de licence ... mais Je ne sais vraiment pas comment signer une chaîne en php avec une clé RSA !!! En php Je sais que la fonction openss_sign, mais ce n'est pas la même chose! Ou est meilleur et plus facile à utiliser une méthode de signature DSA ???

S'il vous plaît, aider!

Merci d'avance pour toutes les réponses !!!

Était-ce utile?

La solution

Vous voulez openssl_sign () .

EDIT:

  • Assurez-vous que le message digest est celui que vous voulez utiliser pour vérifier.
  • Ne pas tester en comparant la sortie de base64 avec une autre signature, testez-le en vérifiant la signature dans votre code C #. Je crois qu'il est possible que deux signatures valides avec la même clé des mêmes données pour avoir différentes représentations binaires.

Autres conseils

Merci! Vous avez raison!

Je l'ai trouvé le problème, est dans la chaîne de hachage que j'utilise avec le openssl_sign! J'ai ce code en c Objectif:

NSString *stringToEncript = @"test";

const char *clearText = [stringToEncript UTF8String];

unsigned char md[SHA_DIGEST_LENGTH];
SHA1((unsigned char *)clearText, strlen(clearText), md);

for(int i=0; i<SHA_DIGEST_LENGTH; i++)
    printf("%x", md[i]);

et en php j'ai écrit:

$stringToEncrypt = "test";

$hash = sha1(utf8_encode($stringToEncrypt));
echo $hash;

La sortie du premier code est le suivant:

a94a8fe5ccb19ba61c4c873d391e987982fbbd3

La sortie du second code est le suivant:

a94a8fe5ccb19ba61c4c0873d391e987982fbbd3

Comme vous pouvez le voir, il y a un « 0 » manquer! Que dois-je tort?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top