void QgsAuthCrypto::passwordKeyHash( const QString& pass, QString *salt, QString *hash, QString *cipheriv ) { if ( QgsAuthCrypto::isDisabled() ) return; QCA::InitializationVector saltiv = QCA::InitializationVector( KEY_GEN_IV_LENGTH ); QCA::SymmetricKey key = passwordKey_( pass, saltiv ); if ( !key.isEmpty() ) { *salt = QCA::arrayToHex( saltiv.toByteArray() ); qDebug( "salt hex: %s", qPrintable( *salt ) ); *hash = QCA::arrayToHex( key.toByteArray() ); qDebug( "hash hex: %s", qPrintable( *hash ) ); if ( cipheriv ) { *cipheriv = QCA::arrayToHex( QCA::InitializationVector( CIPHER_IV_LENGTH ).toByteArray() ); qDebug( "cipheriv hex: %s", qPrintable( *cipheriv ) ); } } }