<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otpGarmin/source/otp/Otp.mc, branch v0.6.0</title>
<subtitle>OTP Wallet for Garmin Connect IQ: offline one-time passwords and barcodes.</subtitle>
<id>https://git.cirakg.xyz/otpGarmin/atom?h=v0.6.0</id>
<link rel='self' href='https://git.cirakg.xyz/otpGarmin/atom?h=v0.6.0'/>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/otpGarmin/'/>
<updated>2026-10-18T21:44:18+00:00</updated>
<entry>
<title>feat(otp): add Base32 decoding, HOTP, TOTP and Steam Guard codes</title>
<updated>2026-10-18T21:44:18+00:00</updated>
<author>
<name>cirakg</name>
<email>cirakg@cirakg.xyz</email>
</author>
<published>2026-10-18T21:44:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/otpGarmin/commit/?id=5646ae7f40dc53c9ebed0b3b6e907cc85fcd5993'/>
<id>urn:sha1:5646ae7f40dc53c9ebed0b3b6e907cc85fcd5993</id>
<content type='text'>
Base32 accepts any case, spaces, hyphens and missing padding, and reports
the exact position of a bad character. TOTP uses 64-bit time, so codes stay
correct after 2038. Steam Guard is a separate, optional code type.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
