#crypto #encodable #decodable #fields #tlv #slice #flexiber

macro no-std flexiber_derive

Procedural macros to derive Decodable and Encodable from flexiber

1 unstable release

0.1.0 Nov 20, 2021

#7 in #encodable

Download history 17/week @ 2023-12-18 11/week @ 2023-12-25 6/week @ 2024-01-01 23/week @ 2024-01-08 12/week @ 2024-01-15 4/week @ 2024-01-22 27/week @ 2024-01-29 20/week @ 2024-02-05 52/week @ 2024-02-12 61/week @ 2024-02-19 85/week @ 2024-02-26 92/week @ 2024-03-04 57/week @ 2024-03-11 95/week @ 2024-03-18 133/week @ 2024-03-25 255/week @ 2024-04-01

550 downloads per month
Used in 5 crates (via flexiber)

Apache-2.0 OR MIT

25KB
478 lines

flexiber

Encoding and decoding of BER-TLV as described in ISO 7816-4, without allocations.

Follows the approach taken in der, and then in simple-tlv.

License

flexiber is licensed under either of Apache License, Version 2.0 or MIT License at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


lib.rs:

Custom derive support for the flexiber crate

With #[tlv(slice)] set, Encodable should work for fields implementing AsRef<[u8]>, and Decodable should work for fields implementing TryFrom<[u8]>, even if the field is not Decodable or Encodable.

Dependencies

~1.5MB
~36K SLoC