#include "cryptclasscaesar.h" const int CryptClassCaesar::LOWERBOUND = 0x30; const int CryptClassCaesar::UPPERBOUND = 0x7A; CryptClassCaesar::CryptClassCaesar() { oldKey = -1; buildMap(); } CryptClassCaesar::~CryptClassCaesar() { } void CryptClassCaesar::encrypt() { qDebug("CryptClassCaesar::encrypt"); buildMap(); m_cryptText.clear(); m_clearText = m_clearText.toUpper(); m_clearText.replace(QByteArray("Ä"), QByteArray("AE")); m_clearText.replace(QByteArray("Ö"), QByteArray("OE")); m_clearText.replace(QByteArray("Ü"), QByteArray("UE")); m_clearText.replace(QByteArray("ß"), QByteArray("SS")); for (int i = 0; i < m_clearText.size(); i++) { if (m_clearText[i] >= (char) LOWERBOUND && m_clearText[i] <= (char) UPPERBOUND) { m_cryptText.append(substitutionsMap[m_clearText[i]]); } } } void CryptClassCaesar::decrypt() { qDebug("CryptClassCaesar::decrypt"); } void CryptClassCaesar::buildMap() { bool ok = false; if (oldKey == getKey().toInt(&ok)) { if (ok == false) { QMessageBox::warning(NULL, "Key invalid", "The key for Ceasar should only be a number."); } return; } oldKey = getKey().toInt(); substitutionsMap.clear(); for (int i = 0; i <= (UPPERBOUND - LOWERBOUND); i++) { substitutionsMap.insert((char)(LOWERBOUND + i), (char)(LOWERBOUND + (i + oldKey) % (UPPERBOUND - LOWERBOUND))); } }