diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-04-01 17:01:57 +0200 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-04-01 17:01:57 +0200 |
| commit | a82f77cd33275262684a8beda8d3e12c6950d9be (patch) | |
| tree | 66f976d59098143eeb86f43fa2d181378a9987b1 /src/crypt/cryptclasscaesar.cpp | |
| parent | f0ae840c6cd876d67a451f824cc1b52974072f41 (diff) | |
| download | IT-Sicherheit-a82f77cd33275262684a8beda8d3e12c6950d9be.tar.gz IT-Sicherheit-a82f77cd33275262684a8beda8d3e12c6950d9be.zip | |
First steps with CryptClassCaesar
Diffstat (limited to 'src/crypt/cryptclasscaesar.cpp')
| -rw-r--r-- | src/crypt/cryptclasscaesar.cpp | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/crypt/cryptclasscaesar.cpp b/src/crypt/cryptclasscaesar.cpp index 23914a2..c1094ef 100644 --- a/src/crypt/cryptclasscaesar.cpp +++ b/src/crypt/cryptclasscaesar.cpp @@ -1,8 +1,12 @@ #include "cryptclasscaesar.h" +const int CryptClassCaesar::lowerBound = 0x30; +const int CryptClassCaesar::upperBound = 0x7A; + CryptClassCaesar::CryptClassCaesar() { - + oldKey = -1; + buildMap(); } CryptClassCaesar::~CryptClassCaesar() @@ -13,9 +17,39 @@ CryptClassCaesar::~CryptClassCaesar() void CryptClassCaesar::encrypt() { qDebug("CryptClassCaesar::encrypt"); + buildMap(); + + QByteArray tmp = getClearText(); + + for (int i = 0; i < tmp.size(); i++) + { + tmp[i] = substitutionsMap[tmp[i]]; + } + + setCryptText((unsigned char*) tmp.data(), tmp.size()); + } void CryptClassCaesar::decrypt() { qDebug("CryptClassCaesar::encrypt"); } + +void CryptClassCaesar::buildMap() +{ + if (oldKey == getKey().toInt()) + { + 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))); + + } +} |
