Skip to content

kingrong's blog

Tag: #totp

rust实现TOTP算法(Base32加密)

公司用来进行二次验证登陆的方式是TOTP,全称是_Time-based One-Time Password algorithm_。维基百科上对与TOTP的说明的十分详细:基于时间的一次性密码算法 从这里我们可以找到我们需要实现一个totp可能需要用到的要素:epoch,time step,密钥,加密哈希算法等。还有实现_totp_的基本原理。事实上对比一些别的实现,我们也可以知道中文维基上的有错误之处。

这一次我将记录我实现totp算法的过程以及遇到的坑。

这一次实现的代码可以在我的Github中找到。Github: totp