0

我正在编写代码来加密密码并匹配加密密码以检查密码是否弱。我已经使用 ECB 模式 API 编写了加密代码,但它没有按预期工作。在调试我的代码时,我遇到的问题很少。我看到的唯一可以使用的选项是 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;
}

代码中是否有任何错误?

提前感谢您的帮助。

4

1 回答 1

0

你说的地方:

1) ecb 模式一次可处理 8 个字节。如果我的密码少于 8 个字符怎么办?

出于“安全”原因,为什么不将最小长度设置为 8 个字符。人们通常拥有超过 8 个字符的密码,因为如果密码更长且更复杂,则加密时更难破解。

于 2011-08-08T10:41:48.477 回答