@@ -32,37 +32,18 @@ MainWindow::MainWindow( QWidget* parent ) : QMainWindow( parent ) {
3232 this ->setFixedSize ( this ->size () );
3333 this ->setGeometry ( QStyle::alignedRect ( Qt::LeftToRight, Qt::AlignCenter, this ->size (),
3434 qApp->desktop ()->availableGeometry () ) );
35- this ->setWindowTitle (" MrHash v" + QString::number (MAJOR_VER) + " ." + QString::number (MINOR_VER) );
35+ this ->setWindowTitle ( " MrHash v" + QString::number ( MAJOR_VER ) + " ." + QString::number ( MINOR_VER ) );
3636
3737
3838 connect ( actionAboutQt, SIGNAL ( triggered () ), qApp, SLOT ( aboutQt () ) );
3939}
4040
4141MainWindow::~MainWindow () {}
4242
43- namespace Hex {
44- static string digits = " 0123456789abcdef" ;
45- std::string hex ( char * bin, int length ) {
46- std::string s ( length * 2 , ' ' );
47- for ( int i = 0 ; i < length; i++ ) {
48- s[i * 2 ] = digits[( bin[i] >> 4 ) & 0xf ];
49- s[i * 2 + 1 ] = digits[bin[i] & 0xf ];
50- }
51- return s;
52- }
53- std::string hex ( int bin ) {
54- std::string s ( sizeof ( int ) * 2 , ' ' );
55- for ( unsigned int i = 0 ; i < sizeof ( int ) * 2 ; i++ ) {
56- s[sizeof ( int ) * 2 - 1 - i] = digits[bin & 0xf ];
57- bin = bin >> 4 ;
58- }
59- return s;
60- }
61- }
62-
6343QString crc32 ( string msg ) {
6444 int crc32_ctx = CRC32::crc32 ( 0 , msg.c_str (), msg.length () );
65- return QString::fromStdString ( Hex::hex ( crc32_ctx ) ).toUpper ();
45+ // note: right(8) removes the unneeded Fs that appear sometimes at the start of the crc32
46+ return QString::number (crc32_ctx, 16 ).right (8 ).toUpper ();
6647}
6748
6849QString tiger ( string msg ) {
@@ -84,7 +65,7 @@ void MainWindow::on_textEdit_textChanged() {
8465 QString haval224 = QString::fromStdString ( hav.calcHaval ( text, 224 , 5 ) ).toLower ();
8566 QString haval256 = QString::fromStdString ( hav.calcHaval ( text, 256 , 5 ) ).toLower ();
8667 QString base64 = textEdit->toPlainText ().toUtf8 ().toBase64 ();
87- crc16edit->setText ( QString::number (qChecksum (text.c_str (), qstrlen (text.c_str ())) ) );
68+ crc16edit->setText ( QString::number ( qChecksum ( text.c_str (), qstrlen ( text.c_str () ) ) ) );
8869 crc32edit->setText ( crc32 ( text ) );
8970 md4edit->setText ( QCryptographicHash::hash ( text.c_str (), QCryptographicHash::Md4 ).toHex () );
9071 md5edit->setText ( QCryptographicHash::hash ( text.c_str (), QCryptographicHash::Md5 ).toHex () );
0 commit comments