Why does crypto.pbkdf2 end up generating ciphertext twice as long as keylen instead of keylen?

const crypto = require("crypto");
crypto.pbkdf2("secret", "salt", 1024, 32, "sha512", function (err, derivedKey) {
    if (err) throw err;
    console.log(derivedKey.toString("hex"));
});
//  8177086d9bc2e39580a7657fabe06e685a57b861768a36406c5744711f461e49

for example, the length of the final output above is 64, why it is not the value of keylen. What exactly is the length of keylen here?

Mar.30,2021

keylen is the byte length, 1 byte = 8 bits binary = 2 bits 16 bits. I didn't turn my head around before. Confused

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b37d91-2c0bb.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b37d91-2c0bb.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?