HMACContext

Наследует: RefCounted < Object

Используется для создания HMAC для сообщения с использованием ключа.

Описание

Класс HMACContext полезен для расширенных вариантов использования HMAC, таких как потоковая передача сообщений, поскольку он поддерживает создание сообщений с течением времени, а не предоставляет их все сразу.

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())

Методы

PackedByteArray

finish()

Error

start(hash_type: HashType, key: PackedByteArray)

Error

update(data: PackedByteArray)


Описания метода

PackedByteArray finish() 🔗

Возвращает полученный HMAC. Если HMAC не удалось, возвращается пустой PackedByteArray.


Error start(hash_type: HashType, key: PackedByteArray) 🔗

Инициализирует HMACContext. Этот метод не может быть вызван снова для того же HMACContext, пока не будет вызван finish().


Error update(data: PackedByteArray) 🔗

Обновляет сообщение, чтобы оно было HMACed. Это может быть вызвано несколько раз до вызова finish() для добавления data к сообщению, но не может быть вызвано до вызова start().