Comment puis-je utiliser openssl/md5 en C++ pour la crypte une chaîne de caractères?
J'ai besoin de la crypte en md5 d'une chaîne de caractères dans mon programme.
Il est la librairie openssl, mais je suis un débutant à ce sujet.
Comment est-ce possible de la crypte d'une chaîne à l'aide de qui et où je peux trouver une bonne doc qui m'enseigner comment utiliser cette lib, également avec d'autres fonctions comme l'aes?
J'ai essayé ce code:
int main()
{
unsigned char result[MD5_DIGEST_LENGTH];
const unsigned char* str;
str = (unsigned char*)"hello";
unsigned int long_size = 100;
MD5(str,long_size,result);
}
Mais le compilateur me dit:
undefined reference to MD5
.
Pourquoi est-il et undefined reference to MD5
?
- Il n'est pas vraiment clair ce que vous voulez faire. MD5 n'est pas une fonction de chiffrement, mais une fonction de hachage (qui est considéré comme rompu aujourd'hui).
- Oui, je sais. Par exemple:str=bonjour md5(str)= 5d41402abc4b2a76b9719d911017c592 je veux utiliser openssl/md5 pour le faire.
- Vos données n'est pas 100 octets de long...
#include <openssl/md5.h>
et un lien verslcrypto
.
Vous devez vous connecter pour publier un commentaire.
Vous devriez jeter un oeil à la la documentation. Une option est d'utiliser cette fonction:
À laquelle ils affirment:
Comme pour l'AES, si vous souhaitez également utiliser OpenSSL, alors jetez un oeil à DG doc et cet exemple de la façon de l'utiliser. Il suffit de noter que vous devez ajouter
Dans le haut du fichier pour que cela fonctionne, cependant.
Btw. Je peux vraiment recommander la Crypto++ de la bibliothèque car il est grand et a tous les types de primitives cryptographiques; AES, les Courbes Elliptiques, MAC, la clé publique de chiffrement et ainsi de suite.
MD5()
de.MD5()
ainsi. En d'autres termes, au lieu de fournir100
vous donner5
commelong_size
dans votre code.