Skip to content

websurgeon/swift-pbOTPKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PBOTPKit

A Swift implemention of HOTP and TOTP

HOTP: HMAC-Based One-Time Password Algorithm (RFC-4226 )

TOTP: Time-Based One-Time Password Algorithm (RFC-6238 )

HOTP Usage:

Using raw key data:

let keyData = "12345678901234567890".data(using: .utf8)!

let code = HOTPGenerator.generate(key: keyData, counter: 1) // "287082"

Using Google Authenticator Base32 encoded key string:

let encodedKey = "GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ" // Base32 "12345678901234567890"

let code = HOTPGenerator.generate(encodedKey: encodedKey, counter: 1) // "287082"

TOTP Usage:

Using raw key data:

let keyData = "12345678901234567890".data(using: .utf8)!

let date = Date() // 2020-06-12 21:36:30 +0000

let code = TOTPGenerator.generate(key: keyData, date: date) // "871676"

Using Google Authenticator Base32 encoded key string:

let encodedKey = "GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ" // Base32 "12345678901234567890"

let date = Date() // 2020-06-12 21:36:30 +0000

let code = TOTPGenerator.generate(encodedKey: encodedKey, date: date) // "871676"

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages