首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有关crypto++的有关问题

2012-03-17 
有关crypto++的问题请问crypto++中如何使用MD5加密(使用MD5类的哪些方法?)[解决办法]C/C++ code//md5.h#if

有关crypto++的问题
请问crypto++中如何使用MD5加密(使用MD5类的哪些方法?)

[解决办法]

C/C++ code
//md5.h#ifndef CRYPTOPP_MD5_H#define CRYPTOPP_MD5_H#include "iterhash.h"NAMESPACE_BEGIN(CryptoPP)class MD5 : public IteratedHash<word32>{public:    MD5();    void Final(byte *hash);    unsigned int DigestSize() const {return DIGESTSIZE;}    static void CorrectEndianess(word32 *out, const word32 *in, unsigned int byteCount)    {#ifndef IS_LITTLE_ENDIAN        byteReverse(out, in, byteCount);#else        if (in!=out)            memcpy(out, in, byteCount);#endif    }    static void Transform(word32 *digest, const word32 *data);    enum {DIGESTSIZE = 16, DATASIZE = 64};private:    void Init();    void HashBlock(const word32 *input);};NAMESPACE_END#endif//main.cpp#include "md5.h"#include <iostream>#pragma comment (lib,"cryptlib.lib")  //加载lib文件的语句using namespace CryptoPP; //使用名字空间CryptoPPusing namespace std; //使用名字空间stdvoid main(){    byte message[128];    byte m[16];    cout<<"输入字符串"<<endl;        cin.getline((char*) message,128);        MD5 md5;     md5.Update(message,128);        md5.Final(m);            for(int i=0;i<16;i++)printf("%02x",m[i]);    printf("\n");          }
[解决办法]
MD5 结果应该是固定的128位

热点排行
Bad Request.