Vanetza
Loading...
Searching...
No Matches
hashed_id.hpp
1#ifndef CE45A952_0EE7_4D20_82CB_D42BF87F5B15
2#define CE45A952_0EE7_4D20_82CB_D42BF87F5B15
3
4#include <vanetza/security/sha.hpp>
5#include <array>
6#include <cstdint>
7#include <functional>
8#include <string>
9
10namespace vanetza
11{
12namespace security
13{
14
15using HashedId8 = std::array<uint8_t, 8>;
16using HashedId3 = std::array<uint8_t, 3>;
17
18HashedId3 truncate(const HashedId8&);
19
20HashedId8 create_hashed_id8(const Sha256Digest&);
21HashedId8 create_hashed_id8(const Sha384Digest&);
22
23std::string to_string(const vanetza::security::HashedId3&);
24std::string to_string(const vanetza::security::HashedId8&);
25
26} // namespace security
27} // namespace vanetza
28
29namespace std
30{
31// std::hash specialization for HashedId3
32template<> struct hash<vanetza::security::HashedId3>
33{
34 size_t operator()(const vanetza::security::HashedId3&) const;
35};
36
37/// std::hash specialization for HashedId8
38template<> struct hash<vanetza::security::HashedId8>
39{
40 size_t operator()(const vanetza::security::HashedId8&) const;
41};
42} // namespace std
43
44#endif /* CE45A952_0EE7_4D20_82CB_D42BF87F5B15 */
ChunckPacket is a packet consisting of several memory chunks.
ByteBufferConvertible & operator[](OsiLayer ol)
ChunkPacket & merge(ChunkPacket &packet, OsiLayer from, OsiLayer to)
std::size_t size() const
const ByteBufferConvertible & layer(OsiLayer ol) const
const ByteBufferConvertible & operator[](OsiLayer ol) const
ByteBufferConvertible & layer(OsiLayer ol)
std::size_t size(OsiLayer from, OsiLayer to) const
ChunkPacket extract(OsiLayer from, OsiLayer to)
std::size_t size(OsiLayer from, OsiLayer to) const
buffer_const_range operator[](OsiLayer layer) const
std::size_t size() const
void set_boundary(OsiLayer, unsigned bytes)
const ByteBuffer & buffer() const
CohesivePacket(const ByteBuffer &buffer, OsiLayer layer)
void trim(OsiLayer from, unsigned bytes)
std::size_t size(OsiLayer single_layer) const
value_type operator[](size_type) const
Definition byte_view.cpp:48
byte_view_range(ByteBuffer &&)
Definition byte_view.cpp:37
byte_view_range(const ByteBuffer::const_iterator &, const ByteBuffer::const_iterator &)
Definition byte_view.cpp:27
ByteBuffer::const_pointer data() const
Definition byte_view.cpp:42
void encode(units::Duration)
Definition lifetime.cpp:45
units::Duration decode() const
Definition lifetime.cpp:59
bool after(const Timestamp &other) const
Definition timestamp.cpp:76
bool before(const Timestamp &other) const
Definition timestamp.cpp:71
static CertificateValidity valid()
Create CertificateValidity signalling a valid certificate This method is equivalent to default constr...
CertificateValidity(CertificateInvalidReason reason)
CertificateInvalidReason reason() const
Get reason for certificate invalidity This call is only safe if reason is available,...
static DecapConfirm from(VerifyConfirm &&verify_confirm, const SecuredMessageView &msg_view)
Input data for decapsulating a secured message.