diff options
Diffstat (limited to 'Swiften/StringCodecs/PBKDF2.cpp')
-rw-r--r-- | Swiften/StringCodecs/PBKDF2.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Swiften/StringCodecs/PBKDF2.cpp b/Swiften/StringCodecs/PBKDF2.cpp index a652242..81e1208 100644 --- a/Swiften/StringCodecs/PBKDF2.cpp +++ b/Swiften/StringCodecs/PBKDF2.cpp @@ -4,18 +4,19 @@ * See Documentation/Licenses/GPLv3.txt for more information. */ -#include "Swiften/StringCodecs/PBKDF2.h" -#include "Swiften/StringCodecs/HMACSHA1.h" +#include <Swiften/StringCodecs/PBKDF2.h> +#include <Swiften/StringCodecs/HMACSHA1.h> +#include <Swiften/Base/Concat.h> namespace Swift { -ByteArray PBKDF2::encode(const ByteArray& password, const ByteArray& salt, int iterations) { - ByteArray u = HMACSHA1::getResult(password, salt + ByteArray("\0\0\0\1", 4)); - ByteArray result = u; +ByteArray PBKDF2::encode(const SafeByteArray& password, const ByteArray& salt, int iterations) { + ByteArray u = HMACSHA1::getResult(password, concat(salt, createByteArray("\0\0\0\1", 4))); + ByteArray result(u); int i = 1; while (i < iterations) { u = HMACSHA1::getResult(password, u); - for (unsigned int j = 0; j < u.getSize(); ++j) { + for (unsigned int j = 0; j < u.size(); ++j) { result[j] ^= u[j]; } ++i; |