Compute Message Digests (MD5, SHA1 etc)
More...
#include <zypp-core/Digest.h>
|
| Digest () |
| ~Digest () |
bool | create (const std::string &name) |
| initialize creation of a new message digest
|
const std::string & | name () |
| get the name of the current digest algorithm
|
bool | update (const char *bytes, size_t len) |
| feed data into digest computation algorithm
|
bool | update (std::istream &is, size_t bufsize=4096) |
| feed data into digest computation algorithm
|
zypp::ByteCount | bytesHashed () const |
| Returns the number of input bytes that have been added to the hash.
|
std::string | digest () |
| get hex string representation of the digest
|
UByteArray | digestVector () |
| get vector of unsigned char representation of the digest
|
bool | reset () |
| reset internal digest state
|
Digest | clone () const |
| Returns a clone of the current Digest and returns it.
|
static const std::string & | md5 () |
| md5
|
static const std::string & | sha1 () |
| sha1
|
static const std::string & | sha224 () |
| sha224
|
static const std::string & | sha256 () |
| sha256
|
static const std::string & | sha384 () |
| sha384
|
static const std::string & | sha512 () |
| sha512
|
static std::string | digestVectorToString (const UByteArray &vec) |
| get hex string representation of the digest vector given as parameter
|
static std::string | digest (const std::string &name, std::istream &is, size_t bufsize=4096) |
| compute digest of a stream.
|
static std::string | digest (const std::string &name, const std::string &input, size_t bufsize=4096) |
Compute Message Digests (MD5, SHA1 etc)
The computation works by initializing the algorithm using create(). This will construct an internal state. successive calls to update() deliver the data for which the digest is to be computed. After all data has been deliverd, a call to digest() finalizes the computation and returns the result
Definition at line 37 of file Digest.h.
◆ Digest() [1/3]
zypp::Digest::Digest |
( |
const Digest & | d | ) |
|
|
privatedelete |
◆ Digest() [2/3]
zypp::Digest::Digest |
( |
Digest && | other | ) |
|
|
noexcept |
◆ Digest() [3/3]
◆ ~Digest()
zypp::Digest::~Digest |
( |
| ) |
|
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ md5()
const std::string & zypp::Digest::md5 |
( |
| ) |
|
|
static |
◆ sha1()
const std::string & zypp::Digest::sha1 |
( |
| ) |
|
|
static |
◆ sha224()
const std::string & zypp::Digest::sha224 |
( |
| ) |
|
|
static |
◆ sha256()
const std::string & zypp::Digest::sha256 |
( |
| ) |
|
|
static |
◆ sha384()
const std::string & zypp::Digest::sha384 |
( |
| ) |
|
|
static |
◆ sha512()
const std::string & zypp::Digest::sha512 |
( |
| ) |
|
|
static |
◆ create()
bool zypp::Digest::create |
( |
const std::string & | name | ) |
|
initialize creation of a new message digest
Since openssl is used as backend you may use anything that openssl supports (see man 1 dgst). Common examples are md5 or sha1. sha1 should be preferred when creating digests to verify the authenticity of something.
successive calls to this funcion will destroy the internal state and reinit from scratch
- Parameters
-
name | name of the message digest algorithm. |
- Returns
- whether an error occured
Definition at line 198 of file Digest.cc.
◆ name()
const std::string & zypp::Digest::name |
( |
| ) |
|
get the name of the current digest algorithm
Definition at line 210 of file Digest.cc.
◆ update() [1/2]
bool zypp::Digest::update |
( |
const char * | bytes, |
|
|
size_t | len ) |
feed data into digest computation algorithm
- Parameters
-
- Returns
- whether an error occured
Definition at line 288 of file Digest.cc.
◆ update() [2/2]
bool zypp::Digest::update |
( |
std::istream & | is, |
|
|
size_t | bufsize = 4096 ) |
feed data into digest computation algorithm
- Parameters
-
- Returns
- whether an error occured
Definition at line 312 of file Digest.cc.
◆ bytesHashed()
ByteCount zypp::Digest::bytesHashed |
( |
| ) |
const |
Returns the number of input bytes that have been added to the hash.
Definition at line 331 of file Digest.cc.
◆ digest() [1/3]
std::string zypp::Digest::digest |
( |
| ) |
|
get hex string representation of the digest
this function will finalize the digest computation. calls to update after this function will start from scratch
- Returns
- hex string representation of the digest
Definition at line 239 of file Digest.cc.
◆ digestVectorToString()
std::string zypp::Digest::digestVectorToString |
( |
const UByteArray & | vec | ) |
|
|
static |
get hex string representation of the digest vector given as parameter
- Returns
- hex string representation of the digest
Definition at line 244 of file Digest.cc.
◆ digestVector()
get vector of unsigned char representation of the digest
this function will finalize the digest computation. calls to update after this function will start from scratch
- Returns
- vector representation of the digest
Definition at line 270 of file Digest.cc.
◆ reset()
bool zypp::Digest::reset |
( |
| ) |
|
reset internal digest state
this function is equivalent to calling create() with an unchanged name, but it may be implemented in a more efficient way.
Definition at line 215 of file Digest.cc.
◆ clone()
Digest zypp::Digest::clone |
( |
| ) |
const |
Returns a clone of the current Digest and returns it.
This is the same as manually creating a Digest with the same name ( so no checksum calculation state is copied )
Definition at line 231 of file Digest.cc.
◆ digest() [2/3]
std::string zypp::Digest::digest |
( |
const std::string & | name, |
|
|
std::istream & | is, |
|
|
size_t | bufsize = 4096 ) |
|
static |
compute digest of a stream.
convenience function
calls create, update and digest in one function. The data for the computation is read from the stream
- Parameters
-
name | name of the digest algorithm, |
- See also
- create
- Parameters
-
is | an input stream to get the data from |
bufsize | size of the buffer used for update(). Be careful, this is on the stack. |
- Returns
- the digest or empty on error
Definition at line 336 of file Digest.cc.
◆ digest() [3/3]
std::string zypp::Digest::digest |
( |
const std::string & | name, |
|
|
const std::string & | input, |
|
|
size_t | bufsize = 4096 ) |
|
static |
◆ _dp
std::unique_ptr<P> zypp::Digest::_dp |
|
private |
The documentation for this class was generated from the following files: