MD5.cc

Go to the documentation of this file.
00001 #include "MD5.h"
00002 
00003 namespace oasys {
00004 
00005 MD5::MD5() 
00006 {
00007     init();
00008 }
00009 
00011 void 
00012 MD5::init()
00013 {
00014     MD5Init(&ctx_);
00015 }
00016     
00018 void 
00019 MD5::update(const u_char* data, size_t len)
00020 {
00021     MD5Update(&ctx_, (u_char*)data, len);
00022 }
00023 
00025 void 
00026 MD5::update(const char* data, size_t len)
00027 {
00028     MD5Update(&ctx_, (u_char*)data, len);
00029 }
00030 
00032 void 
00033 MD5::finalize()
00034 {
00035     MD5Final(digest_, &ctx_);
00036 }
00037 
00039 const u_char* 
00040 MD5::digest()
00041 {
00042     return digest_;
00043 }
00044 
00046 void 
00047 MD5::digest_ascii(std::string* str,
00048                   const u_char* digest)
00049 {
00050     hex2str(str, digest, MD5LEN);
00051 }
00052 
00054 std::string 
00055 MD5::digest_ascii(const u_char* digest)
00056 {
00057     std::string str;
00058     digest_ascii(&str, digest);
00059     return str;
00060 }
00061 
00063 void 
00064 MD5::digest_ascii(std::string* str)
00065 {
00066     digest_ascii(str, digest_);
00067 }
00068 
00070 std::string 
00071 MD5::digest_ascii()
00072 {
00073     return digest_ascii(digest_);
00074 }
00075 
00077 void 
00078 MD5::digest_fromascii(const char* str, u_char* digest)
00079 {
00080     str2hex(str, digest, MD5LEN);
00081 }
00082 
00083 
00084 void 
00085 MD5Hash_t::serialize(SerializeAction* a)
00086 {
00087     a->process("hash", reinterpret_cast<char*>(hash_), MD5::MD5LEN);
00088 }
00089 
00090 MD5Hash_t& 
00091 MD5Hash_t::operator=(const MD5Hash_t& hash)
00092 {
00093     memcpy(hash_, hash.hash_, MD5::MD5LEN);
00094 
00095     return *this;
00096 }
00097 
00098 }; // namespace oasys

Generated on Fri Dec 22 14:47:59 2006 for DTN Reference Implementation by  doxygen 1.5.1