mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-10 14:07:11 -06:00
21.02
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
namespace NCrypto {
|
||||
namespace NSha1 {
|
||||
|
||||
// Use: SetKey(key, keySize); for () Update(data, size); Final(mac, macSize);
|
||||
// Use: SetKey(key, keySize); for () Update(data, size); FinalFull(mac);
|
||||
|
||||
class CHmac
|
||||
{
|
||||
@@ -18,20 +18,12 @@ class CHmac
|
||||
public:
|
||||
void SetKey(const Byte *key, size_t keySize);
|
||||
void Update(const Byte *data, size_t dataSize) { _sha.Update(data, dataSize); }
|
||||
void Final(Byte *mac, size_t macSize = kDigestSize);
|
||||
};
|
||||
|
||||
class CHmac32
|
||||
{
|
||||
CContext32 _sha;
|
||||
CContext32 _sha2;
|
||||
public:
|
||||
void SetKey(const Byte *key, size_t keySize);
|
||||
void Update(const UInt32 *data, size_t dataSize) { _sha.Update(data, dataSize); }
|
||||
void Final(UInt32 *mac, size_t macSize = kNumDigestWords);
|
||||
|
||||
// It'sa for hmac function. in,out: mac[kNumDigestWords].
|
||||
void GetLoopXorDigest(UInt32 *mac, UInt32 numIteration);
|
||||
// Final() : mac is recommended to be aligned for 4 bytes
|
||||
// GetLoopXorDigest1() : mac is required to be aligned for 4 bytes
|
||||
// The caller can use: UInt32 mac[NSha1::kNumDigestWords] and typecast to (Byte *) and (void *);
|
||||
void Final(Byte *mac);
|
||||
void GetLoopXorDigest1(void *mac, UInt32 numIteration);
|
||||
};
|
||||
|
||||
}}
|
||||
|
||||
Reference in New Issue
Block a user