18
18
// Block size for HMAC (64 bytes for SHA-1, SHA-256, SHA-512)
19
19
#define HMAC_BLOCK_SIZE 64
20
20
21
- PBKDF2_HMACBuilder::PBKDF2_HMACBuilder (HashBuilder* hash, String password, String salt, uint32_t iterations) {
21
+ PBKDF2_HMACBuilder::PBKDF2_HMACBuilder (HashBuilder * hash, String password, String salt, uint32_t iterations) {
22
22
this ->hashBuilder = hash;
23
23
this ->hashSize = hashBuilder->getHashSize ();
24
24
this ->iterations = iterations;
@@ -55,10 +55,10 @@ void PBKDF2_HMACBuilder::clearData() {
55
55
calculated = false ;
56
56
}
57
57
58
- void PBKDF2_HMACBuilder::hmac (const uint8_t * key, size_t keyLen, const uint8_t * data, size_t dataLen, uint8_t * output) {
58
+ void PBKDF2_HMACBuilder::hmac (const uint8_t * key, size_t keyLen, const uint8_t * data, size_t dataLen, uint8_t * output) {
59
59
uint8_t keyPad[HMAC_BLOCK_SIZE];
60
60
uint8_t outerPad[HMAC_BLOCK_SIZE];
61
- uint8_t innerHash[64 ]; // Large enough for any hash
61
+ uint8_t innerHash[64 ]; // Large enough for any hash
62
62
63
63
// Prepare key
64
64
if (keyLen > HMAC_BLOCK_SIZE) {
@@ -166,7 +166,7 @@ String PBKDF2_HMACBuilder::toString() {
166
166
}
167
167
168
168
// PBKDF2 specific methods
169
- void PBKDF2_HMACBuilder::setPassword (const uint8_t * password, size_t len) {
169
+ void PBKDF2_HMACBuilder::setPassword (const uint8_t * password, size_t len) {
170
170
if (this ->password != nullptr ) {
171
171
forced_memzero (this ->password , len);
172
172
delete[] this ->password ;
@@ -177,15 +177,15 @@ void PBKDF2_HMACBuilder::setPassword(const uint8_t* password, size_t len) {
177
177
calculated = false ;
178
178
}
179
179
180
- void PBKDF2_HMACBuilder::setPassword (const char * password) {
181
- setPassword ((const uint8_t *)password, strlen (password));
180
+ void PBKDF2_HMACBuilder::setPassword (const char * password) {
181
+ setPassword ((const uint8_t *)password, strlen (password));
182
182
}
183
183
184
184
void PBKDF2_HMACBuilder::setPassword (String password) {
185
- setPassword ((const uint8_t *)password.c_str (), password.length ());
185
+ setPassword ((const uint8_t *)password.c_str (), password.length ());
186
186
}
187
187
188
- void PBKDF2_HMACBuilder::setSalt (const uint8_t * salt, size_t len) {
188
+ void PBKDF2_HMACBuilder::setSalt (const uint8_t * salt, size_t len) {
189
189
if (this ->salt != nullptr ) {
190
190
forced_memzero (this ->salt , len);
191
191
delete[] this ->salt ;
@@ -196,32 +196,32 @@ void PBKDF2_HMACBuilder::setSalt(const uint8_t* salt, size_t len) {
196
196
calculated = false ;
197
197
}
198
198
199
- void PBKDF2_HMACBuilder::setSalt (const char * salt) {
200
- setSalt ((const uint8_t *)salt, strlen (salt));
199
+ void PBKDF2_HMACBuilder::setSalt (const char * salt) {
200
+ setSalt ((const uint8_t *)salt, strlen (salt));
201
201
}
202
202
203
203
void PBKDF2_HMACBuilder::setSalt (String salt) {
204
- setSalt ((const uint8_t *)salt.c_str (), salt.length ());
204
+ setSalt ((const uint8_t *)salt.c_str (), salt.length ());
205
205
}
206
206
207
207
void PBKDF2_HMACBuilder::setIterations (uint32_t iterations) {
208
208
this ->iterations = iterations;
209
209
}
210
210
211
- void PBKDF2_HMACBuilder::setHashAlgorithm (HashBuilder* hash) {
211
+ void PBKDF2_HMACBuilder::setHashAlgorithm (HashBuilder * hash) {
212
212
// Set the hash algorithm to use for the HMAC
213
213
// Note: We don't delete hashBuilder here as it might be owned by the caller
214
214
// The caller is responsible for managing the hashBuilder lifetime
215
215
hashBuilder = hash;
216
216
hashSize = hashBuilder->getHashSize ();
217
217
}
218
218
219
- void PBKDF2_HMACBuilder::pbkdf2_hmac (const uint8_t * password, size_t passwordLen,
220
- const uint8_t * salt , size_t saltLen,
221
- uint32_t iterations, uint8_t * output, size_t outputLen ) {
222
- uint8_t u1[64 ]; // Large enough for any hash
219
+ void PBKDF2_HMACBuilder::pbkdf2_hmac (
220
+ const uint8_t *password, size_t passwordLen, const uint8_t *salt, size_t saltLen, uint32_t iterations, uint8_t *output , size_t outputLen
221
+ ) {
222
+ uint8_t u1[64 ]; // Large enough for any hash
223
223
uint8_t u2[64 ];
224
- uint8_t saltWithBlock[256 ]; // Salt + block number
224
+ uint8_t saltWithBlock[256 ]; // Salt + block number
225
225
uint8_t block[64 ];
226
226
227
227
size_t blocks = (outputLen + hashSize - 1 ) / hashSize;
0 commit comments