在c++中使用Openssl河豚加密算法
Using Openssl blowfish encryption algorithm in C++
我正在编写代码来加密密码并匹配加密密码以检查密码是否弱。我已经使用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;
}
代码中有bug吗?
提前感谢您的帮助
你说:
1) ECB模式每次工作8字节。如果我的密码少了怎么办比8个字符?
出于"安全"原因,为什么不将最小长度设置为8个字符呢?人们通常使用超过8个字符的密码,因为如果密码更长更复杂,加密后更难破解。
相关文章:
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 如何在openssl-ecc中获取十六进制格式的私钥
- LINK 尝试使用 OpenSSL evp aes 256 c++ 时出错
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- OpenSSL TLS服务器-使用客户端证书白名单
- 通过 Openssl 命令行加密,通过 c++ 解密
- 使用已使用 java 编码的 openssl 解码数据
- OpenSSL没有共享密码
- OpenSSL 解密功能无法正常工作
- OpenSSL BIO and SSL_read
- 如何在OpenSSL库的名称中添加后缀'd'?
- 避免碎片化的ClientHellos with OpenSSL (DTLS)
- Boost.Asio/OpenSSL HTTPS GET certificate trouble
- 使用 OpenSSL 从内存中读取原始 SSL/TLS 证书
- 验证openssl c++中的签名,这是由JAVA DSA签名的?
- OpenSSL: EC_POINT_set_compressed_coordinates_GFp segfault
- 在 C/C++ 中加载 OpenSSL 自定义引擎
- 我的应用程序无法在安卓上使用OpenSSL进行链接
- OpenSSL fips in C++ wrapper Library 如何?错误:指纹不匹配
- 在c++中使用Openssl河豚加密算法