Arduino  1.8.10
HMAC クラス

#include <tmbhmac.h>

公開型

enum  { HMAC_OK = 0, HMAC_ERROR, HMAC_FAIL_TESTVECTOR }
 

公開メンバ関数

 HMAC ()
 
 HMAC (const uint8_t *key, uint32_t keyLength)
 
void init (const uint8_t *key, uint32_t keyLength)
 
void process (const uint8_t *msg, uint32_t msgLength)
 
void finish (uint8_t *dest)
 
void finishHex (char *dest)
 

詳解

tmbhmac.h33 行目に定義があります。

列挙型メンバ詳解

◆ anonymous enum

anonymous enum
列挙値
HMAC_OK 
HMAC_ERROR 
HMAC_FAIL_TESTVECTOR 

tmbhmac.h42 行目に定義があります。

構築子と解体子

◆ HMAC() [1/2]

HMAC::HMAC ( )

tmbhmac.cpp27 行目に定義があります。

27  {
28 }

◆ HMAC() [2/2]

HMAC::HMAC ( const uint8_t *  key,
uint32_t  keyLength 
)

tmbhmac.cpp30 行目に定義があります。

30  {
31  init(key, keyLength);
32 }
void init(const uint8_t *key, uint32_t keyLength)
Definition: tmbhmac.cpp:34

関数詳解

◆ finish()

void HMAC::finish ( uint8_t *  dest)

tmbhmac.cpp53 行目に定義があります。

53  {
54  //hmac = hash(o_key_pad + hash(i_key_pad + message))
55  //
56  // Construct the o_key_pad
57  uint8_t finalBlock[HMAC_BLOCK_SIZE_BYTES + HMAC_HASH_SIZE_BYTES];
58  constructKeyPad(finalBlock, m_key, m_keyLength, (uint8_t)0x5C);
59  m_md5.finish(finalBlock + HMAC_BLOCK_SIZE_BYTES);
60 
61  m_md5.init();
63  m_md5.finish(dest);
64 }
void init()
Definition: tmbmd5.cpp:59
int finish(uint8_t *hash)
Definition: tmbmd5.cpp:162
#define HMAC_BLOCK_SIZE_BYTES
Definition: tmbhmac.h:29
#define HMAC_HASH_SIZE_BYTES
Definition: tmbhmac.h:28
int process(const uint8_t *in, uint32_t inlen)
Definition: tmbmd5.cpp:120

◆ finishHex()

void HMAC::finishHex ( char *  dest)

tmbhmac.cpp66 行目に定義があります。

66  {
67  uint8_t binDest[HMAC_HASH_SIZE_BYTES];
68  finish(binDest);
69  toHex(binDest, dest);
70 }
void finish(uint8_t *dest)
Definition: tmbhmac.cpp:53
#define HMAC_HASH_SIZE_BYTES
Definition: tmbhmac.h:28

◆ init()

void HMAC::init ( const uint8_t *  key,
uint32_t  keyLength 
)

tmbhmac.cpp34 行目に定義があります。

34  {
35 
36  m_key = key;
37  m_keyLength = keyLength;
38 
39  uint8_t iKeyPad[HMAC_BLOCK_SIZE_BYTES];
40 
41  constructKeyPad(iKeyPad, key, keyLength, (uint8_t)0x36);
42 
43  m_md5.init();
44  m_md5.process(iKeyPad, HMAC_BLOCK_SIZE_BYTES);
45 }
void init()
Definition: tmbmd5.cpp:59
#define HMAC_BLOCK_SIZE_BYTES
Definition: tmbhmac.h:29
int process(const uint8_t *in, uint32_t inlen)
Definition: tmbmd5.cpp:120

◆ process()

void HMAC::process ( const uint8_t *  msg,
uint32_t  msgLength 
)

tmbhmac.cpp47 行目に定義があります。

47  {
48  // hmac = hash(o_key_pad + hash(i_key_pad + message))
49  // continue hashing the message
50  m_md5.process(msg, msgLength);
51 }
int process(const uint8_t *in, uint32_t inlen)
Definition: tmbmd5.cpp:120

このクラス詳解は次のファイルから抽出されました: