YKPARSE(1)
π YKPARSE(1) β the YubiKey C Library Manual, bestie edition π
okay so real talk: this page lives in the YubiKey C Library Manual and it's filed under YKPARSE(1), but the command it actually tells you about is ykgenerate. iconic of her, honestly. no notes. π
β¨ NAME β¨
ykgenerate β construct and encrypt an OTP from given data. that's the whole job. she builds it, she encrypts it, she serves. π
πΈ SYNOPSIS πΈ
ykgenerate AESKEY YK_INTERNALNAME YK_COUNTER YK_LOW YK_HIGH YK_USE
six little arguments, one big slay. β¨
π¦ DESCRIPTION π¦
So basically ykgenerate generates OTPs by encrypting the values you hand it, using the encryption key you hand it. that's it. that's the vibe. you give her the goods, she encrypts them, you get an OTP. π
π OPTIONS π
every single one of these is hex encoded, bestie. do not come in here with vibes instead of hex. π
AESKEYβ the 16-character AES-128 key you're gonna use, in hex. sixteen. characters. count them. π«ΆYK_INTERNALNAMEβ the internal identity, hex encoded. it's 48 bit.YK_COUNTERβ the counter, hex encoded. 16 bit.YK_LOWβ the timestamp low, hex encoded. 16 bit.YK_HIGHβ the timestamp high, hex encoded. 8bit.YK_USEβ the use, hex encoded. 8 bit.
ngl the bit-widths are giving "please get them right" energy. they're right there in the list, use them. π
π EXAMPLES π
typical usage of the tool is literally this, fr fr:
ykgenerate ecde18dbe76fbd0c33330f1c354871db 8792ebfe26cc 0013 c0a8 00 10
and then β and this is the part where you feel like a hacker in a movie β you use ykparse(1) to decode the resulting OTP. π΅οΈβοΈβ¨
π SEE ALSO π
YubiKeys can be obtained from Yubico: http://www.yubico.com/ β go get you one, main character. ποΈπ
and that's the whole page, bestie!! this lil manual came from yubico-c, Version 1.13 β so when you're out here generating OTPs, just know version 1.13 of yubico-c is the one holding your hand through it. π«Άππ mwah, go slay. β
π¦ where this page comes from
- alpine 3.24: yubico-c-doc 1.13-r1 Β· BSD-2-Clause
- arch rolling: yubico-c 1.13-8 Β· BSD
- debian bookworm: libyubikey-dev 1.13-6 Β· BSD-2-Clause
- debian trixie: libyubikey-dev 1.13-6 Β· BSD-2-Clause
- epel 10: libyubikey 1.13-24.el10_0 Β· LicenseRef-Callaway-BSD
- epel 9: libyubikey 1.13-17.el9 Β· BSD
- fedora 43: libyubikey 1.13-26.fc43 Β· LicenseRef-Callaway-BSD
- fedora 43: libyubikey 1.13-26.fc43 Β· LicenseRef-Callaway-BSD
- fedora 44: libyubikey 1.13-27.fc44 Β· LicenseRef-Callaway-BSD
- fedora 44: libyubikey 1.13-27.fc44 Β· LicenseRef-Callaway-BSD
- nixos 26.05: libyubikey 1.13
- nixpkgs unstable: libyubikey 1.13
- ubuntu jammy: libyubikey-dev 1.13-6 Β· BSD-2-Clause
- ubuntu noble: libyubikey-dev 1.13-6 Β· BSD-2-Clause
- ubuntu resolute: libyubikey-dev 1.13-7 Β· BSD-2-Clause
- ubuntu stonking: libyubikey-dev 1.13-7 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms