×
Namespaces

Variants
Actions
(Difference between revisions)

How to calculate hash for a text using QCryptographicHash in Qt

From Nokia Developer Wiki
Jump to: navigation, search
Mgoetz (Talk | contribs)
Mgoetz (Talk | contribs)
Line 40: Line 40:
 
<code cpp>
 
<code cpp>
 
#include <QtGui/QApplication>
 
#include <QtGui/QApplication>
#include "textcodec.h"
 
 
#include <QWidget>
 
#include <QWidget>
 
#include <QHBoxLayout>
 
#include <QHBoxLayout>
Line 60: Line 59:
 
     hash->addData(string);
 
     hash->addData(string);
 
     QByteArray string1=hash->result();
 
     QByteArray string1=hash->result();
     lbl->setText(string1);
+
     lbl->setText(string1); // TODO: use e.g. toHex or toBase64
 
     lay->addWidget(lbl1);
 
     lay->addWidget(lbl1);
 
     lay->addWidget(lbl);
 
     lay->addWidget(lbl);

Revision as of 13:28, 28 September 2009

{{{width}}}


Article Metadata
Tested with
Devices(s): S60 Emulator
Compatibility
Platform(s): S60 3rd Edition FP1, S60 3rd Edition FP2, S60 5th Edition
Symbian
Article
Keywords: QCryptographicHash,QByteArray
Created: (10 Apr 2009)
Last edited: User:Mgoetz (28 Sep 2009)

Introduction

The QCryptographicHash class provides a way to generate cryptographic hashes from binary or text data.

For more information, see Wikipedia on http://en.wikipedia.org/wiki/Cryptographic_hash_function

Preconditions

Some Related Function

  • Adds the data to the cryptographic hash:
QByteArray string = "Nokia";
QCryptographicHash hasher(QCryptographicHash::Sha1);
hasher.addData(string);
  • Returns the final hash value.
QByteArray string1=hasher.result();

Source Code

Main.cpp

#include <QtGui/QApplication>
#include <QWidget>
#include <QHBoxLayout>
#include <QCryptographicHash>
#include <QString>
#include <QByteArray>
#include <QLabel>
 
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget *win=new QWidget();
QHBoxLayout *lay=new QHBoxLayout();
QLabel *lbl=new QLabel();
QLabel *lbl1=new QLabel("Encrypted Text:");
lbl1->setBuddy(lbl);
QByteArray string="Nokia";
QCryptographicHash *hash=new QCryptographicHash(QCryptographicHash::Md4);
hash->addData(string);
QByteArray string1=hash->result();
lbl->setText(string1); // TODO: use e.g. toHex or toBase64
lay->addWidget(lbl1);
lay->addWidget(lbl);
win->setLayout(lay);
win->setStyleSheet("* { background-color:rgb(199,147,88); padding: 7px ; color:rgb(255,255,255)}");
win->showMaximized();
return a.exec();
}

ScreenShot

More About QCryptographicHash

Crypto.JPG

290 page views in the last 30 days.
×