summaryrefslogtreecommitdiffstats
path: root/src/crypt/cryptclasscaesar.cpp
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-04-07 19:19:30 +0200
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-04-07 19:19:30 +0200
commite58962c314bf5d768bd68dea8336c499b04c4819 (patch)
tree8fb65ba8a31768321477fd4fd3fc2c1c31e88954 /src/crypt/cryptclasscaesar.cpp
parenta343a48147917bec91fce25605b8746fad308b21 (diff)
downloadIT-Sicherheit-e58962c314bf5d768bd68dea8336c499b04c4819.tar.gz
IT-Sicherheit-e58962c314bf5d768bd68dea8336c499b04c4819.zip
Implements decrypt and now uses a stripUmlauts function
Diffstat (limited to 'src/crypt/cryptclasscaesar.cpp')
-rw-r--r--src/crypt/cryptclasscaesar.cpp32
1 files changed, 27 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;
+}