需求
最近需要在 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);
}