0

我正在尝试分发一个程序,其中包括使用 QCryptographicHash 进行一些简单的身份验证。代码是这样的:

QString myDigest = mySalt + userName.toUpper();
QString myHash = QCryptographicHash::hash( myDigest.toAscii(), QCryptographicHash::Sha1 ).toHex();

给用户这个哈希值,它作为一个序列号。要使用该程序,他们必须输入他们的用户名和序列号。

问题是,这适用于某些计算机,但不适用于其他计算机。有谁知道可能导致这种不一致的原因是什么?

4

1 回答 1

0

也许 toUpper 有不同的行为取决于语言环境?qt 有像 C# 一样的 toUpperInvariant 吗?

于 2012-08-15T20:19:37.837 回答