/*****************************************************************************
* checkbrute Checksum Bruteforcing Tool
* Copyright (C) 2020 Syping
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* This software is provided as-is, no warranties are given to you, we are not
* responsible for anything with use of the software, you are self responsible.
*****************************************************************************/

#include <QCryptographicHash>
#include "checksum_qt.h"

checksum_qt::checksum_qt(QCryptographicHash::Algorithm algorithm, const QString &name) : algorithm(algorithm), name(name) {}

QByteArray checksum_qt::generateChecksum(const QByteArray &data)
{
    return QCryptographicHash::hash(data, algorithm).toHex();
}

const QString checksum_qt::formatName()
{
    return name;
}

int checksum_qt::checksumSize()
{
    return QCryptographicHash::hashLength(algorithm);
}