本文整理汇总了C++中Hasher::init方法的典型用法代码示例。如果您正苦于以下问题:C++ Hasher::init方法的具体用法?C++ Hasher::init怎么用?C++ Hasher::init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hasher
的用法示例。
在下文中一共展示了Hasher::init方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: input
void
generateHash(
const char* filename ) {
// Create hasher
Hasher hasher;
MD5Strategy* md5Strategy = new MD5Strategy();
hasher.addStrategy( md5Strategy );
SHA256Strategy* sha256Strategy = new SHA256Strategy();
hasher.addStrategy( sha256Strategy );
// Read the file and hash it
ifstream input( filename, ios_base::in | ios_base::binary );
if ( input.is_open() ) {
char buffer[1024];
hasher.init();
while ( !input.eof() ) {
input.read( buffer, 1023 );
int numRead = input.gcount();
hasher.update( buffer, numRead );
}
input.close();
string messageDigest;
hasher.digest( "MD5", messageDigest );
cout << messageDigest << " ";
hasher.digest( "SHA256", messageDigest );
cout << messageDigest << endl;
}
else {
cerr << "ERROR: Unable to open file: " << filename << endl;
}
}
示例2: ERROR
error
getHasher( const std::string& _name, Hasher& _hasher ) {
boost::unordered_map<const std::string, const HashStrategy*>::const_iterator it = _strategies.find( _name );
if ( _strategies.end() == it ) {
std::stringstream msg;
msg << "Unknown hashing scheme [" << _name << "]";
return ERROR( SYS_INVALID_INPUT_PARAM, msg.str() );
}
_hasher.init( it->second );
return SUCCESS();
}