diff options
| author | Remko Tronçon <git@el-tramo.be> | 2010-03-28 15:46:49 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2010-03-28 15:46:49 (GMT) | 
| commit | f53a1ef582494458301b97bf6e546be52d7ff7e8 (patch) | |
| tree | 7571b5cbcbd8a8f1dd1c966c9045b6cb69f0e295 /Swiften/StringCodecs/PBKDF2.cpp | |
| parent | 638345680d72ca6acaf123f2c8c1c391f696e371 (diff) | |
| download | swift-contrib-f53a1ef582494458301b97bf6e546be52d7ff7e8.zip swift-contrib-f53a1ef582494458301b97bf6e546be52d7ff7e8.tar.bz2  | |
Moving submodule contents back.
Diffstat (limited to 'Swiften/StringCodecs/PBKDF2.cpp')
| -rw-r--r-- | Swiften/StringCodecs/PBKDF2.cpp | 20 | 
1 files changed, 20 insertions, 0 deletions
diff --git a/Swiften/StringCodecs/PBKDF2.cpp b/Swiften/StringCodecs/PBKDF2.cpp new file mode 100644 index 0000000..c09c10e --- /dev/null +++ b/Swiften/StringCodecs/PBKDF2.cpp @@ -0,0 +1,20 @@ +#include "Swiften/StringCodecs/PBKDF2.h" +#include "Swiften/StringCodecs/HMACSHA1.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; +	int i = 1; +	while (i < iterations) { +		u = HMACSHA1::getResult(password, u); +		for (unsigned int j = 0; j < u.getSize(); ++j) { +			result[j] ^= u[j]; +		} +		++i; +	} +	return result; +} + +}  | 
 Swift