# SVC_CalcHMACSHA1

## 構文

      #include <twl/os/common/systemCall.h>

      void SVC_CalcHMACSHA1( void* md,
                          const void* data,
                          u32 len,
                          const void* key,
                          u32 keylen );

## 引数

md | 計算した SHA-1 値を格納するメモリへのポインタ
data | 入力データへのポインタ
len | 入力データのサイズ
key | キー文字列へのポインタ
keylen | キー文字列の大きさ

## 返り値

なし。

## 説明

HMAC-SHA1 の計算を行います。

この関数は、`SVC_HMACSHA1Init()`, `SVC_HMACSHA1Update()`, `SVC_HMACSHA1GetHash()` の各関数を連続して呼び出すユーティリティ関数です。内部でスタックに `SVCHMACSHA1Context` 構造体確保しますので、スタックに十分な余裕がある状態で呼び出してください。

生成される SHA-1 値の長さは 160bit、すなわち SVC_SHA1_DIGEST_SIZE (= 20) バイトです。このサイズが格納できる領域を md に渡すようにしてください。

入力データは data, len で指定します。任意のサイズ・任意のアラインメント位置のものが使用できます。

キー文字列は key, keylen で指定します。

## 参照

`SVC_HMACSHA1Init``, SVC_HMACSHA1Update, SVC_HMACSHA1GetHash, SVC_CalcSHA1`

## 履歴

2007/10/24 初版