Table of Contents

Class HMACContext

Used to create an HMAC for a message using a key.

Inheritance
HMACContext

Remarks

The HMACContext class is useful for advanced HMAC use cases, such as streaming the message as it supports creating the message over time rather than providing it all at once.

extends Node
var ctx = HMACContext.new()

func _ready():
    var key = "supersecret".to_utf8_buffer()
    var err = ctx.start(HashingContext.HASH_SHA256, key)
    assert(err == OK)
    var msg1 = "this is ".to_utf8_buffer()
    var msg2 = "super duper secret".to_utf8_buffer()
    err = ctx.update(msg1)
    assert(err == OK)
    err = ctx.update(msg2)
    assert(err == OK)
    var hmac = ctx.finish()
    print(hmac.hex_encode())



Methods

finish

Returns the resulting HMAC. If the HMAC failed, an empty PackedByteArray is returned.

PackedByteArray finish

start(int, PackedByteArray)

Initializes the HMACContext. This method cannot be called again on the same HMACContext until finish has been called.

int start(int hash_type, PackedByteArray key)

Parameters

hash_type int
key PackedByteArray

update(PackedByteArray)

Updates the message to be HMACed. This can be called multiple times before finish is called to append data to the message, but cannot be called until HMACContext.start has been called.

int update(PackedByteArray data)

Parameters

data PackedByteArray