projects
/
iotcloud.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bug fixes + tabbing
[iotcloud.git]
/
version2
/
src
/
C
/
Crypto.cc
diff --git
a/version2/src/C/Crypto.cc
b/version2/src/C/Crypto.cc
index
9b1da86
..
9fe1154
100644
(file)
--- a/
version2/src/C/Crypto.cc
+++ b/
version2/src/C/Crypto.cc
@@
-2,16
+2,23
@@
#include "pbkdf2-sha256.h"
AESKey::AESKey(Array<char> *password, Array<char> *salt, int iterationCount, int keyLength) {
#include "pbkdf2-sha256.h"
AESKey::AESKey(Array<char> *password, Array<char> *salt, int iterationCount, int keyLength) {
- key = new Array<char>(keyLength);
+ key = new Array<char>(keyLength
/ 8
);
PKCS5_PBKDF2_HMAC((unsigned char *) password->internalArray(), password->length(),
(unsigned char *) salt->internalArray(), salt->length(),
PKCS5_PBKDF2_HMAC((unsigned char *) password->internalArray(), password->length(),
(unsigned char *) salt->internalArray(), salt->length(),
- iterationCount, keyLength, (unsigned char *) key->internalArray());
+ iterationCount, keyLength / 8, (unsigned char *) key->internalArray());
+ aes_key_setup((BYTE *)key->internalArray(), key_schedule, keyLength);
}
AESKey::~AESKey() {
}
AESKey::~AESKey() {
+ bzero(key->internalArray(), key->length());
delete key;
delete key;
+ bzero(key_schedule, sizeof(key_schedule));
}
}
-Array<char> * AESKey::getKey() {
+WORD *AESKey::getKeySchedule() {
+ return (WORD *) &key_schedule;
+}
+
+Array<char> *AESKey::getKey() {
return key;
}
return key;
}