aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/test_pbkdf.cpp
diff options
context:
space:
mode:
authorlloyd <[email protected]>2014-01-10 23:07:16 +0000
committerlloyd <[email protected]>2014-01-10 23:07:16 +0000
commitad6555f522ae16f6284e8dafa02f630b88bcf289 (patch)
treebd63c51dbeab75eb0f90c72589bc922141237056 /src/tests/test_pbkdf.cpp
parent6894dca64c04936d07048c0e8cbf7e25858548c3 (diff)
Split up docs into the reference manual, the website, and everything else.
Add `website` target to makefile. Some progress towards fixing minimized builds. TLS now hard requires ECDSA and GCM since otherwise a minimized build has only insecure options. Remove boost_thread dependency in command line tool
Diffstat (limited to 'src/tests/test_pbkdf.cpp')
-rw-r--r--src/tests/test_pbkdf.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/tests/test_pbkdf.cpp b/src/tests/test_pbkdf.cpp
new file mode 100644
index 000000000..5d97bf0e9
--- /dev/null
+++ b/src/tests/test_pbkdf.cpp
@@ -0,0 +1,32 @@
+#include "tests.h"
+
+#include <botan/lookup.h>
+#include <botan/hex.h>
+#include <iostream>
+#include <fstream>
+
+using namespace Botan;
+
+size_t test_pbkdf()
+ {
+ auto test = [](const std::string& input)
+ {
+ return run_tests(input, "PBKDF", "Output", true,
+ [](std::map<std::string, std::string> vec)
+ {
+ std::unique_ptr<PBKDF> pbkdf(get_pbkdf(vec["PBKDF"]));
+
+ const size_t iterations = to_u32bit(vec["Iterations"]);
+ const size_t outlen = to_u32bit(vec["OutputLen"]);
+ const auto salt = hex_decode(vec["Salt"]);
+ const std::string pass = vec["Passphrase"];
+
+ const auto key = pbkdf->derive_key(outlen, pass,
+ &salt[0], salt.size(),
+ iterations).bits_of();
+ return hex_encode(key);
+ });
+ };
+
+ return run_tests_in_dir(TEST_DATA_DIR "pbkdf", test);
+ }