FreeRADIUS InkBridge

HMAC

The following functions perform HMAC calculations.

All of the hash functions take a key, along with arbitrary data, and turn binary data as `octet`s.

%hmac.md5(<shared_key>, <string>)

Generate HMAC-MD5 of string.

Example
control.Tmp-String-0 := "mykey"
control.Tmp-String-1 := "Caipirinha"
reply.control.Tmp-Octets-0 := %hmac.md5(control.Tmp-String-0, control.Tmp-String-1)

reply += {
    Reply-Message = "The HMAC-MD5 of %{control.Tmp-String-1} in octets is %{control.Tmp-Octets-0}"
    Reply-Message = "The HMAC-MD5 of %{control.Tmp-String-1} in hex is %hex(control.Tmp-Octets-0)"
}
Output
The HMAC-MD5 of Caipirinha in octets is \317}\264@K\216\371\035\304\367\202,c\376\341\203
The HMAC-MD5 of Caipirinha in hex is 636f6e74726f6c3a546d702d4f63746574732d30

%hmac.sha1(<shared_key>, <string>)

Generate HMAC-SHA1 of string.

Example
control.Tmp-String-0 := "mykey"
control.Tmp-String-1 := "Caipirinha"
control.Tmp-Octets-0 := %hmac.sha1(control.Tmp-String-0, control.Tmp-String-1)

reply += {
    Reply-Message = "The HMAC-SHA1 of %{control.Tmp-String-1} in octets is %{control.Tmp-Octets-0}"
    Reply-Message = "The HMAC-SHA1 of %{control.Tmp-String-1} in hex is %hex(control.Tmp-Octets-0}"
}
Output
The HMAC-SHA1 of Caipirinha in octets is \311\007\212\234j\355\207\035\225\256\372ʙ>R\"\341\351O)
The HMAC-SHA1 of Caipirinha in hex is 636f6e74726f6c3a546d702d4f63746574732d30