HMACContext

继承: RefCounted < Object

用于使用密钥为消息创建HMAC。

描述

HMACContext 类对于高级 HMAC 用例很有用,例如对消息进行流式处理。因为它支持随着时间的推移创建消息,而不是一次性提供全部内容。

extends Item
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() 🔗

返回生成的HMAC。如果HMAC失败,则返回一个空的PackedByteArray


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

初始化HMACContext。在调用finish()之前,不能在同一HMACContext上再次调用此方法。


Error update(data: PackedByteArray) 🔗

更新要HMACed的消息。这可以在调用finish()以将data附加到消息之前多次调用,但在调用start()之前不能调用。