2010-07-05 8 views
0

Je développe en C++ en utilisant Boost.Asio. Je veux être en mesure de base64 décoder les données et depuis Boost.Asio liens vers openssl je veux utiliser ses fonctions pour le faire et ne pas ajouter une dépendance supplémentaire (par exemple crypto ++). J'ai trouvé ce code here qui montre comment le faire. (Changement int finalLen = BIO_read (BMEM, (void *) Pout, OUTLEN), à inLen)Comment utiliser openssl pour décoder 64 base?

Je ne sais pas si cela fonctionne. Je viens de passer à quelques données de test que je vérifie avec un décodeur en ligne trouvé ici (2) (sélectionnez décoder en toute sécurité comme texte et comptez les symboles). La chaîne de test que j'utilise est celle-ci: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA =" (sans le ""). Le décodeur en ligne et une implémentation rapide de crypto ++ renvoient 23 caractères. Mais le code que j'ai mentionné ci-dessus en utilisant openssl renvoie 0. Est-ce que je fais quelque chose de mal? Openssl est-il adapté au décodage en base64? Veuillez me fournir une solution (s'il en existe une). Merci pour votre temps.

Répondre

0

pff désolé mon erreur. J'ai oublié d'allouer de la mémoire pour pOut. Le code semble fonctionner maintenant.

Questions connexes