diff options
author | lloyd <[email protected]> | 2010-09-14 02:27:02 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2010-09-14 02:27:02 +0000 |
commit | d472ea829a530fd6995293904d4f07a7ef8b5472 (patch) | |
tree | 3b1fd3913aa1b223444753cb39e973d5753f3b4b /src/pbkdf/pbkdf2 | |
parent | 77a33b0c16880884cc0326e92c0c30d0e8444a91 (diff) |
Remove more implicit vector to pointer conversions
Diffstat (limited to 'src/pbkdf/pbkdf2')
-rw-r--r-- | src/pbkdf/pbkdf2/pbkdf2.cpp | 7 |
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); } |