LibLogicalAccess  2.5.0
An Open Source RFID Library
Loading...
Searching...
No Matches
symmetric_key.hpp
Go to the documentation of this file.
1
8#ifndef SYMETRICKEY_HPP
9#define SYMETRICKEY_HPP
10
11#ifdef UNIX
12#include <unistd.h>
13#endif
14
15#include <vector>
17#include "logicalaccess/plugins/crypto/lla_crypto_api.hpp"
18
19namespace logicalaccess
20{
21namespace openssl
22{
26class LLA_CRYPTO_API SymmetricKey
27{
28 public:
33 explicit SymmetricKey(size_t size);
34
39 explicit SymmetricKey(const ByteVector &data);
40
46 virtual ~SymmetricKey()
47 {
48 }
49
54 const ByteVector &data() const
55 {
56 return d_data;
57 }
58
59 protected:
60
64 void randomize();
65
66 private:
71};
72
79inline bool operator==(const SymmetricKey &lhs, const SymmetricKey &rhs)
80{
81 return (lhs.data() == rhs.data());
82}
83
90inline bool operator!=(const SymmetricKey &lhs, const SymmetricKey &rhs)
91{
92 return (lhs.data() != rhs.data());
93}
94
101inline bool operator<(const SymmetricKey &lhs, const SymmetricKey &rhs)
102{
103 return (lhs.data() < rhs.data());
104}
105}
106}
107
108#endif /* SYMETRICKEY_HPP */
An immutable symmetric key.
Definition: symmetric_key.hpp:27
ByteVector d_data
The key data.
Definition: symmetric_key.hpp:70
const ByteVector & data() const
Get the key data.
Definition: symmetric_key.hpp:54
virtual ~SymmetricKey()
Virtual destructor.
Definition: symmetric_key.hpp:46
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
bool operator<(const SymmetricKey &lhs, const SymmetricKey &rhs)
Comparaison operator.
Definition: symmetric_key.hpp:101
bool operator==(const SymmetricKey &lhs, const SymmetricKey &rhs)
Comparaison operator.
Definition: symmetric_key.hpp:79
bool operator!=(const SymmetricKey &lhs, const SymmetricKey &rhs)
Comparaison operator.
Definition: symmetric_key.hpp:90
Definition: asn1.hpp:9