trunhash.h
来自「lots Elliptic curve cryptography codes. 」· C头文件 代码 · 共 49 行
H
49 行
#ifndef CRYPTOPP_TRUNHASH_H#define CRYPTOPP_TRUNHASH_H#include "cryptlib.h"NAMESPACE_BEGIN(CryptoPP)class NullHash : public HashTransformation{public: void Update(const byte *input, size_t length) {} unsigned int DigestSize() const {return 0;} void TruncatedFinal(byte *digest, size_t digestSize) {} bool TruncatedVerify(const byte *digest, size_t digestLength) {return true;}};//! construct new HashModule with smaller DigestSize() from existing onetemplate <class T>class TruncatedHashTemplate : public HashTransformation{public: TruncatedHashTemplate(T hm, unsigned int digestSize) : m_hm(hm), m_digestSize(digestSize) {} TruncatedHashTemplate(const byte *key, size_t keyLength, unsigned int digestSize) : m_hm(key, keyLength), m_digestSize(digestSize) {} TruncatedHashTemplate(size_t digestSize) : m_digestSize(digestSize) {} void Restart() {m_hm.Restart();} void Update(const byte *input, size_t length) {m_hm.Update(input, length);} unsigned int DigestSize() const {return m_digestSize;} void TruncatedFinal(byte *digest, size_t digestSize) {m_hm.TruncatedFinal(digest, digestSize);} bool TruncatedVerify(const byte *digest, size_t digestLength) {return m_hm.TruncatedVerify(digest, digestLength);}private: T m_hm; unsigned int m_digestSize;};typedef TruncatedHashTemplate<HashTransformation &> TruncatedHashModule;NAMESPACE_END#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?