NAWA
0.8
Web Application Framework for C++
BcryptOnlyHashTypeTable.cpp
Go to the documentation of this file.
1
6
/*
7
* Copyright (C) 2019-2021 Tobias Flaig.
8
*
9
* This file is part of nawa.
10
*
11
* nawa is free software: you can redistribute it and/or modify
12
* it under the terms of the GNU Lesser General Public License,
13
* version 3, as published by the Free Software Foundation.
14
*
15
* nawa is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU Lesser General Public License for more details.
19
*
20
* You should have received a copy of the GNU Lesser General Public License
21
* along with nawa. If not, see <https://www.gnu.org/licenses/>.
22
*/
23
24
#include <
nawa/hashing/HashTypeTable/impl/DefaultHashTypeTable.h
>
25
#include <
nawa/hashing/HashingEngine/impl/BcryptHashingEngine.h
>
26
27
using namespace
nawa
;
28
using namespace
std;
29
30
shared_ptr<hashing::HashingEngine> hashing::DefaultHashTypeTable::getEngine(
string
hash)
const
{
31
auto
hid = hash.substr(0, 4);
32
if
(hid ==
"$2a$"
|| hid ==
"$2b$"
|| hid ==
"$2x$"
|| hid ==
"$2y$"
) {
33
return
shared_ptr<hashing::HashingEngine>(
new
hashing::BcryptHashingEngine
());
34
}
35
return
{};
36
}
BcryptHashingEngine.h
Hashing engine for password hashing using Argon2.
DefaultHashTypeTable.h
Default implementation of a HashTypeTable containing the hashing engines included in nawa.
nawa::hashing::BcryptHashingEngine
Definition:
BcryptHashingEngine.h:35
nawa
Definition:
AppInit.h:31
src
hashing
HashTypeTable
impl
BcryptOnlyHashTypeTable.cpp
Generated by
1.9.2