aboutsummaryrefslogtreecommitdiffstats
path: root/src/pbkdf/pbkdf2
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-09-14 02:27:02 +0000
committerlloyd <[email protected]>2010-09-14 02:27:02 +0000
commitd472ea829a530fd6995293904d4f07a7ef8b5472 (patch)
tree3b1fd3913aa1b223444753cb39e973d5753f3b4b /src/pbkdf/pbkdf2
parent77a33b0c16880884cc0326e92c0c30d0e8444a91 (diff)
Remove more implicit vector to pointer conversions
Diffstat (limited to 'src/pbkdf/pbkdf2')
-rw-r--r--src/pbkdf/pbkdf2/pbkdf2.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/pbkdf/pbkdf2/pbkdf2.cpp b/src/pbkdf/pbkdf2/pbkdf2.cpp
index d234fa7f0..b1c7b2e07 100644
--- a/src/pbkdf/pbkdf2/pbkdf2.cpp
+++ b/src/pbkdf/pbkdf2/pbkdf2.cpp
@@ -37,22 +37,23 @@ OctetString PKCS5_PBKDF2::derive_key(u32bit key_len,
byte* T = &key[0];
+ SecureVector<byte> U(mac->OUTPUT_LENGTH);
+
u32bit counter = 1;
while(key_len)
{
u32bit T_size = std::min(mac->OUTPUT_LENGTH, key_len);
- SecureVector<byte> U(mac->OUTPUT_LENGTH);
mac->update(salt, salt_size);
for(u32bit j = 0; j != 4; ++j)
mac->update(get_byte(j, counter));
- mac->final(U);
+ mac->final(&U[0]);
xor_buf(T, U, T_size);
for(u32bit j = 1; j != iterations; ++j)
{
mac->update(U);
- mac->final(U);
+ mac->final(&U[0]);
xor_buf(T, U, T_size);
}