00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef Y2UTIL_DIGEST_H
00023 #define Y2UTIL_DIGEST_H
00024
00025 #include <string>
00026 #include <iosfwd>
00027
00036 class Digest
00037 {
00038 private:
00039 class P;
00040 P* _dp;
00041
00042
00043 Digest(const Digest& d);
00044
00045 const Digest& operator=(const Digest& d);
00046
00047 public:
00048 Digest();
00049 ~Digest();
00050
00064 bool create(const std::string& name);
00065
00067 const std::string& name();
00068
00074 bool update(const char* bytes, size_t len);
00075
00083 std::string digest();
00084
00095 static std::string digest(const std::string& name, std::istream& is, size_t bufsize = 4096);
00096 };
00097 #endif