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".
This commit is contained in:
Aaron Bieber
2018-04-17 07:16:58 -06:00
committed by Kyle Isom
parent acefe4a3b9
commit 5fd928f69a
2 changed files with 2 additions and 2 deletions

View File

@@ -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)

View File

@@ -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)