CppSecurity 1.1.2.0
C++ Security Library
Loading...
Searching...
No Matches
password_generator.inl
Go to the documentation of this file.
1
9namespace CppSecurity {
10
11template <class TOutputStream>
12inline TOutputStream& operator<<(TOutputStream& stream, PasswordFlags flags)
13{
14 bool first = true;
15 if ((flags & PasswordFlags::lower) && ((flags & PasswordFlags::lower).value() == PasswordFlags::lower))
16 {
17 stream << (first ? "" : "|") << "lower";
18 first = false;
19 }
20 if ((flags & PasswordFlags::upper) && ((flags & PasswordFlags::upper).value() == PasswordFlags::upper))
21 {
22 stream << (first ? "" : "|") << "upper";
23 first = false;
24 }
25 if ((flags & PasswordFlags::digits) && ((flags & PasswordFlags::digits).value() == PasswordFlags::digits))
26 {
27 stream << (first ? "" : "|") << "digits";
28 first = false;
29 }
30 if ((flags & PasswordFlags::symbols) && ((flags & PasswordFlags::symbols).value() == PasswordFlags::symbols))
31 {
32 stream << (first ? "" : "|") << "symbols";
33 first = false;
34 }
35 return stream;
36}
37
38} // namespace CppSecurity
TOutputStream & operator<<(TOutputStream &stream, CipherAlgorithm algorithm)
Definition cipher.inl:12
PasswordFlags
Password flags.
@ upper
Password must contain alphabet characters in upper case (A-Z)
@ symbols
Password must contain punctuation symbols (!"#$%&'()*+,-./:;<=>?@[]^_`{|}~)
@ lower
Password must contain alphabet characters in lower case (a-z)
@ digits
Password must contain digits (0-9)