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 に答える