diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-04-07 19:19:30 +0200 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-04-07 19:19:30 +0200 |
| commit | e58962c314bf5d768bd68dea8336c499b04c4819 (patch) | |
| tree | 8fb65ba8a31768321477fd4fd3fc2c1c31e88954 /src | |
| parent | a343a48147917bec91fce25605b8746fad308b21 (diff) | |
| download | IT-Sicherheit-e58962c314bf5d768bd68dea8336c499b04c4819.tar.gz IT-Sicherheit-e58962c314bf5d768bd68dea8336c499b04c4819.zip | |
Implements decrypt and now uses a stripUmlauts function
Diffstat (limited to 'src')
| -rw-r--r-- | src/crypt/cryptclasscaesar.cpp | 32 | ||||
| -rw-r--r-- | src/crypt/cryptclasscaesar.h | 1 |
2 files changed, 28 insertions, 5 deletions
diff --git a/src/crypt/cryptclasscaesar.cpp b/src/crypt/cryptclasscaesar.cpp index d7c7827..d33b5d9 100644 --- a/src/crypt/cryptclasscaesar.cpp +++ b/src/crypt/cryptclasscaesar.cpp @@ -21,11 +21,7 @@ void CryptClassCaesar::encrypt() 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")); + m_clearText = stripUmlauts(m_clearText); for (int i = 0; i < m_clearText.size(); i++) { @@ -40,6 +36,19 @@ void CryptClassCaesar::encrypt() void CryptClassCaesar::decrypt() { qDebug("CryptClassCaesar::decrypt"); + buildMap(); + + m_clearText.clear(); + + m_cryptText = stripUmlauts(m_cryptText); + + for (int i = 0; i < m_cryptText.size(); i++) + { + if (m_cryptText[i] >= (char) LOWERBOUND && m_cryptText[i] <= (char) UPPERBOUND) + { + m_clearText.append(substitutionsMap.key(m_cryptText[i])); + } + } } void CryptClassCaesar::buildMap() @@ -68,3 +77,16 @@ void CryptClassCaesar::buildMap() } } + +QByteArray CryptClassCaesar::stripUmlauts(QByteArray umlautText) +{ + umlautText.replace(QByteArray("ß"), QByteArray("SS")); + + umlautText = umlautText.toUpper(); + + umlautText.replace(QByteArray("Ä"), QByteArray("AE")); + umlautText.replace(QByteArray("Ö"), QByteArray("OE")); + umlautText.replace(QByteArray("Ü"), QByteArray("UE")); + + return umlautText; +} diff --git a/src/crypt/cryptclasscaesar.h b/src/crypt/cryptclasscaesar.h index 45f7588..899136b 100644 --- a/src/crypt/cryptclasscaesar.h +++ b/src/crypt/cryptclasscaesar.h @@ -25,6 +25,7 @@ private: const static int LOWERBOUND; const static int UPPERBOUND; + QByteArray stripUmlauts(QByteArray umlautText); }; #endif // CRYPTCLASSCAESAR_H |
