Я пишу код для шифрования паролей и сопоставления с зашифрованным паролем, чтобы проверить, являются ли они слабыми. Я написал код шифрования с использованием API режима ECB, и он не работает должным образом. Есть несколько вопросов, на которые я отвечаю при отладке своего кода. Единственная опция, которую я вижу, я могу использовать, это BF_ecb_encrypt.
1) Режим ECB работает на 8 байтах за раз. Что если мой пароль содержит менее 8 символов? он должен быть дополнен случайно сгенерированным символом? или с ноль? Будет ли это работать так? или любым другим возможным способом
2) Фрагмент:
BF_set_key(bfKey, strlen(achSalt), achSalt);
String strBuf;
while (len >= 8)
{
BF_ecb_encrypt(inStr,buf, bfKey, BF_ENCRYPT);
len -= 8;
inStr += 8;
strBuf += String(reinterpret_cast<const char*>(buf));
buf +=8;
}
Есть ли ошибка в коде?
Заранее спасибо за помощь.