-
Notifications
You must be signed in to change notification settings - Fork 26
damico/ARDUINO-OATH-TOKEN
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
ARDUINO-OATH-TOKEN ================== This is a basic Open-Source implementation of a TOTP (compliant with OATH*) code in Arduino. Basicaly it generates 6 digits OTP based in a EPOCH time stored in a variable called birthTime There is no time drift. The OTP is updated each 30 seconds. For HMAC-SHA1 hash this implementation uses the code from Cathedrow / Cryptosuite (https://github.com/Cathedrow/Cryptosuite). However a small change was added to sha1.h and sha1.c: The method size_t Sha1Class::writebytes(const uint8_t* data, int length) For debug purposes the main important functions are printed to serial output. A picture of a working prototype can be found at: https://github.com/damico/ARDUINO-OATH-TOKEN/blob/master/arduino-oath-token-prototype.png *http://www.openauthentication.org/ For compilation purposes, make sure that you have the following directory structure: ---> ARDUINO-OATH-TOKEN/ ---> ---> arduino_oath_token/ ---> ---> ---> arduino_oath_token.ino ---> ---> Sha/ ---> ---> ---> sha1.cpp ---> ---> ---> sha1.h Also, check you libraries directory inside arduino installation folder. It must contain the Sha folder inside it (the arduino installation folder may have different locations and versions, depending of OS). ---> arduino-1.0.1/ ---> ---> libraries/ ---> ---> ---> Sha ---> ---> ---> ---> sha1.cpp ---> ---> ---> ---> sha1.h The Sha library folder can be found at https://github.com/Cathedrow/Cryptosuite as mentioned before but change the sha1.cpp and sha1.h by the ones found at https://github.com/damico/ARDUINO-OATH-TOKEN/tree/master/Sha repository. author: Jose (Ricardo de Oliveira) Damico (jd dot comment at gmail dot com)
About
Basic TOTP implementation in C for Arduino
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published