Crypto++ 編碼與哈希(StringSource和FileSource)

1,base32,base64編碼

#include "base32.h"
#include "base64.h" 
#include <string>
using namespace CryptoPP;
using namespace std;

string src = "Hello World";
string dst;
StringSource(src, true, new Base32Encoder(new StringSink(dst)));
//StringSource(src, true, new Base64Encoder(new StringSink(dst)));

&#160;數組

src:待處理的string類型變量或者byte數組;編碼

true:wiki解釋爲:pumpall;spa

StringSink:添加到一個string對象;code

2,MD5,SHA1,SHA256哈希簽名和crc校驗

#include "md5.h"
#include "sha.h"
#include "crc.h"
#include "files.h"
#include <string>
using namespace CryptoPP;
using namespace std;
MD5 md5;
SHA1 sha1;
SHA256 sha256;
CRC32 crc32;

string src = "Hello World";
string dst;
StringSource(src, true, new HashFilter(md5, new HexEncoder(new StringSink(dst))));
//StringSource(src, true, new HashFilter(sha1, new HexEncoder(new StringSink(dst))));
//StringSource(src, true, new HashFilter(sha256, new HexEncoder(new StringSink(dst))));
//StringSource(src, true, new HashFilter(crc32, new HexEncoder(new StringSink(dst))));

FileSource("test.exe", true, new HashFilter(crc32, new HexEncoder(new StringSink(dst))));
//即程序test.exe的crc32校驗
相關文章
相關標籤/搜索