c++ 使用 sha1

需求 希望在 C++ 中使用 sha1 加密。 解决 openssl 也可以提供 sha1 加密,但是听说有滴血漏洞,所以考虑使用 cryptopp. 下载 cryptopp 之后,需要在 virtual studio 中编译,但是因为没有安装,并且我用的还是 mingw 编译环境,所以尝试在 qt 中编译。 使用 qt 命令行,切换到源码目录,然后 qmake --project 来生成 qt 工程。 使用 qt creator 打开之后,修改 pro 文件,把 TEMPLATE = app 改为 TEMPLATE = lib, 重新编译。 编译会有很多报错,基本都是 intel 的一些指令没有,可以去 https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#expand=3828 中搜索错误信息,然后找 CPUID Flags 这一行对应的提示,在这个提示前增加 -m 作为 flag, 放到 pro 文件中. 如下: QMAKE_CXXFLAGS += "-msse2" 有太多的报错, 所以暂时先放弃了,等后面有时间再搞。获取可以尝试安装 vs, 然后配置为 mingw 编译环境,也是一种办法。或者找找单纯的 sha1 加密库。...

2023-06-18 · 1 min · 135 words · RamLife

QT sha1

需求 最近需要在 qt 中使用 sha1 加密。 解决 Qt 中已经提供了解决方法,就是 QCryptographicHash, 可以直接调用他的 hash 静态方法,只需要注明是 QCryptographicHash::Sha1 即可。 void MainWindow::on_pushButton_clicked() { QString id = ui->lineEdit->text(); QByteArray sha1 = QCryptographicHash::hash(id.toLocal8Bit(), QCryptographicHash::Sha1); string str = ptz::ByteArray2HexString((uint8_t*)sha1.data(), sha1.size()); QString pwd = QString::fromStdString(str); qDebug() << "byte array: " << sha1 << ", string: " << pwd << Qt::endl; ui->textBrowser->setText(pwd); } 参考 QT MD4 MD5 Sha1等几种加密方式 QCryptographicHash Class Secure Hash Algorithm SHA-1

2023-06-18 · 1 min · 64 words · RamLife