NAWA
0.9
Web Application Framework for C++
BcryptOnlyHashTypeTable.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2019-2022 Tobias Flaig.
3
*
4
* This file is part of nawa.
5
*
6
* nawa is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU Lesser General Public License,
8
* version 3, as published by the Free Software Foundation.
9
*
10
* nawa is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with nawa. If not, see <https://www.gnu.org/licenses/>.
17
*/
18
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
std::shared_ptr<hashing::HashingEngine> hashing::DefaultHashTypeTable::getEngine(std::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