From 5fd928f69a983e95aac7dc6bc6143f59fe59fbf8 Mon Sep 17 00:00:00 2001 From: Aaron Bieber Date: Tue, 17 Apr 2018 07:16:58 -0600 Subject: [PATCH] Decode using WithPadding as pointed out by @gl-sergei. This makes us print the same 6 digits as oathtool for non-padded secrets like "a6mryljlbufszudtjdt42nh5by". --- hotp.go | 2 +- totp.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hotp.go b/hotp.go index abe3300..9ab34a4 100644 --- a/hotp.go +++ b/hotp.go @@ -88,7 +88,7 @@ func hotpFromURL(u *url.URL) (*HOTP, string, error) { } } - key, err := base32.StdEncoding.DecodeString(secret) + key, err := base32.StdEncoding.WithPadding(base32.NoPadding).DecodeString(secret) if err != nil { // secret isn't base32 encoded key = []byte(secret) diff --git a/totp.go b/totp.go index bb7c863..4628fa8 100644 --- a/totp.go +++ b/totp.go @@ -150,7 +150,7 @@ func totpFromURL(u *url.URL) (*TOTP, string, error) { } } - key, err := base32.StdEncoding.DecodeString(secret) + key, err := base32.StdEncoding.WithPadding(base32.NoPadding).DecodeString(secret) if err != nil { // secret isn't base32 encoded key = []byte(secret)