Cleo Rebert
1f1e1a6fe7
Add constant-time token comparison and partialEq trait
...
Add PartialEq for TOTP<T> and PartialEq+Eq for Algorithm
2022-04-24 16:41:56 +02:00
ironhaven
c30d02b512
Use last byte of HMAC output for truncating
...
This is to use the least significant byte of the HMAC regardless of size. RFC 6328 (TOTP) Section 1.2 says you can use SHA-1 SHA-256 or SHA-512 with the same algorithm of RFC 4226 (HTOP). This seems ok until you realize that all the new HMACs have different output sizes and HTOP only expects a 20 byte fixed MAC. It is not completely clear if RFC 4226 Section 5.3 means "get the bottom 4 bits from byte at offset 19" or "get the 4 least significant bits". Other implementations (6568c1a83a/src/pyotp/otp.py (L28)
) and Wikipedia read the "Dynamic Truncation" algorithm to be the last 4 bits of the MAC, so I think this implementation should follow the others.
2022-03-07 23:10:31 -06:00
muji
9888507d16
Add notes to doc comments.
2022-02-10 17:00:33 +08:00
constantoine
4b486b5aa6
Removed byteorder dependency
2022-01-20 17:58:27 +01:00
Cléo Rebert
b68dd87ce2
Hash refactor
2022-01-13 21:52:55 +01:00
Cléo Rebert
97695cf26d
Updated dependencies, bumped to 2021 edition
...
- Updated sha2 from a yanked version
- Updated sha-1
- Updated hmac
- Updated byteorder
- Updated base64
2022-01-13 15:55:04 +01:00
Cléo Rebert
981ad64477
Fixed warning about deprecated type alias
2020-11-02 23:21:19 +01:00
evenorog
ffe9e4d50f
Remove some unnecessary to_vec calls in code
2020-08-09 20:10:44 +02:00
evenorog
61fc895267
Be generic over secret type
...
Allow to store anything that implement AsRef<[u8]> as secret in TOTP
struct.
2020-08-05 13:24:34 +02:00
Cleo Rebert
d7f8790243
Optionnal serde support for smaller builds
2020-07-03 14:34:58 +02:00
Mark Nijboer
2c12f47652
* Changed version to 0.4.0 and updated docs
2020-06-22 16:16:05 +02:00
Mark Nijboer
66ef16fb45
* Added unit tests, replaced String for &str and removed println
2020-06-22 16:09:53 +02:00
Cleo Rebert
bb9b5d851c
Fixed documentation
2020-06-21 19:08:52 +02:00
hebriel
64faae59f6
Changed a bunch of to_string() to to_owned()
2020-06-21 16:39:00 +02:00
Cleo Rebert
32b618c827
Additional feature!
2020-06-21 15:57:16 +02:00
Cleo Rebert
bba8e818da
Switched from ring to the RustCrypto project
2020-06-16 14:39:08 +02:00
Cleo Rebert
0c19a359c3
Changed dependencies + removed one
2020-04-25 19:20:11 +02:00
Cleo Rebert
9064404264
Implemented serialize and clone fot both TOTP and Algorithm. Only Algorithm is copy
2020-04-14 12:51:44 +02:00
Cleo Rebert
c9b81c70c1
Better doc with examples
2020-04-13 22:57:06 +02:00
Cleo Rebert
8a236fbdea
fixed typo
2020-04-13 18:09:02 +02:00
Cleo Rebert
7876ca57c7
exported fields to export documentation
2020-04-13 17:59:04 +02:00
Cleo Rebert
6b091b7e08
cargo fmt
2020-04-13 17:02:00 +02:00
Cleo Rebert
bf2d753f72
preparations to push to crates.io
2020-04-13 16:59:30 +02:00
Cleo Rebert
e4915a6446
Finally, my own library. With a fix on the QR code generation
2020-04-13 16:39:57 +02:00
Cleo Rebert
d1e04d7c6e
First commit
2020-04-11 21:24:50 +02:00