當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby KDF.hkdf用法及代碼示例


本文簡要介紹ruby語言中 OpenSSL::KDF.hkdf 的用法。

用法

hkdf(ikm, salt:, info:, length:, hash:) → String

RFC 5869 中指定的基於 HMAC 的 Extract-and-Expand key 派生函數 (HKDF)。

OpenSSL 1.1.0 中的新函數。

參數

ikm

輸入 key 材料。

salt

鹽。

info

上下文和應用程序特定信息。

length

以八位字節為單位的輸出長度。必須是 <= 255 * HashLen ,其中 HashLen 是以八位字節為單位的哈希函數輸出的長度。

hash

哈希函數。

示例

# The values from https://datatracker.ietf.org/doc/html/rfc5869#appendix-A.1
ikm = ["0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"].pack("H*")
salt = ["000102030405060708090a0b0c"].pack("H*")
info = ["f0f1f2f3f4f5f6f7f8f9"].pack("H*")
p OpenSSL::KDF.hkdf(ikm, salt: salt, info: info, length: 42, hash: "SHA256").unpack1("H*")
# => "3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865"

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 KDF.hkdf。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。