C言語にて Openssl を使って SHA1 ハッシュを計算する
の続きです
Boost はC++用のソフトウェアライブラリです。
Boost にはハッシュ関数として
sha1, md5 が用意されている。
ハッシュ関数の使い方は、下記を参考にした。
C++ boostを使用してSHA-1 ハッシュ値の計算 メモ
hash_data_t get_sha1_hash( const void *data, const std::size_t byte_count ) { boost::uuids::detail::sha1 sha1; sha1.process_bytes( data, byte_count ); unsigned int digest[5]; sha1.get_digest( digest ); const boost::uint8_t *p_digest = reinterpret_cast<const boost::uint8_t *>( digest ); hash_data_t hash_data; for( int i = 0; i < 5; ++i ) { hash_data[ i * 4 ] = p_digest[ i * 4 + 3 ]; hash_data[ i * 4 + 1 ] = p_digest[ i * 4 + 2 ]; hash_data[ i * 4 + 2 ] = p_digest[ i * 4 + 1 ]; hash_data[ i * 4 + 3 ] = p_digest[ i * 4 ]; } return hash_data; }
サンプルコードを Github に公開した。 https://github.com/ohwada/MAC_cpp_Samples/tree/master/boost/uuid