QByteArrays now passed by reference to improve performance

This commit is contained in:
linev 2018-01-13 15:47:49 +03:00
parent 8b58ac9a3b
commit 8b9bcdd933
2 changed files with 18 additions and 18 deletions

View File

@ -3,17 +3,17 @@
/* /*
* Static Functions * Static Functions
* */ * */
QByteArray QAESEncryption::Crypt(QAESEncryption::AES level, QAESEncryption::MODE mode, const QByteArray rawText, const QByteArray key, const QByteArray iv) QByteArray QAESEncryption::Crypt(QAESEncryption::AES level, QAESEncryption::MODE mode, const QByteArray &rawText, const QByteArray &key, const QByteArray &iv)
{ {
return QAESEncryption(level, mode).encode(rawText, key, iv); return QAESEncryption(level, mode).encode(rawText, key, iv);
} }
QByteArray QAESEncryption::Decrypt(QAESEncryption::AES level, QAESEncryption::MODE mode, const QByteArray rawText, const QByteArray key, const QByteArray iv) QByteArray QAESEncryption::Decrypt(QAESEncryption::AES level, QAESEncryption::MODE mode, const QByteArray &rawText, const QByteArray &key, const QByteArray &iv)
{ {
return QAESEncryption(level, mode).decode(rawText, key, iv); return QAESEncryption(level, mode).decode(rawText, key, iv);
} }
QByteArray QAESEncryption::ExpandKey(QAESEncryption::AES level, QAESEncryption::MODE mode, const QByteArray key) QByteArray QAESEncryption::ExpandKey(QAESEncryption::AES level, QAESEncryption::MODE mode, const QByteArray &key)
{ {
return QAESEncryption(level, mode).expandKey(key); return QAESEncryption(level, mode).expandKey(key);
} }
@ -85,7 +85,7 @@ QAESEncryption::QAESEncryption(QAESEncryption::AES level, QAESEncryption::MODE m
} }
QByteArray QAESEncryption::expandKey(const QByteArray key) QByteArray QAESEncryption::expandKey(const QByteArray &key)
{ {
int i, k; int i, k;
quint8 tempa[4]; // Used for the column/row operations quint8 tempa[4]; // Used for the column/row operations
@ -273,7 +273,7 @@ void QAESEncryption::invShiftRows()
it[11] = (quint8)temp; it[11] = (quint8)temp;
} }
QByteArray QAESEncryption::byteXor(const QByteArray a, const QByteArray b) QByteArray QAESEncryption::byteXor(const QByteArray &a, const QByteArray &b)
{ {
QByteArray::const_iterator it_a = a.begin(); QByteArray::const_iterator it_a = a.begin();
QByteArray::const_iterator it_b = b.begin(); QByteArray::const_iterator it_b = b.begin();
@ -286,7 +286,7 @@ QByteArray QAESEncryption::byteXor(const QByteArray a, const QByteArray b)
} }
// Cipher is the main function that encrypts the PlainText. // Cipher is the main function that encrypts the PlainText.
QByteArray QAESEncryption::cipher(const QByteArray expKey, const QByteArray in) QByteArray QAESEncryption::cipher(const QByteArray &expKey, const QByteArray &in)
{ {
//m_state is the input buffer... //m_state is the input buffer...
@ -315,7 +315,7 @@ QByteArray QAESEncryption::cipher(const QByteArray expKey, const QByteArray in)
return output; return output;
} }
QByteArray QAESEncryption::invCipher(const QByteArray expKey, const QByteArray in) QByteArray QAESEncryption::invCipher(const QByteArray &expKey, const QByteArray &in)
{ {
//m_state is the input buffer.... handle it! //m_state is the input buffer.... handle it!
QByteArray output(in); QByteArray output(in);
@ -343,7 +343,7 @@ QByteArray QAESEncryption::invCipher(const QByteArray expKey, const QByteArray i
return output; return output;
} }
QByteArray QAESEncryption::encode(const QByteArray rawText, const QByteArray key, const QByteArray iv) QByteArray QAESEncryption::encode(const QByteArray &rawText, const QByteArray &key, const QByteArray &iv)
{ {
if (m_mode >= CBC && (iv.isNull() || iv.size() != m_blocklen)) if (m_mode >= CBC && (iv.isNull() || iv.size() != m_blocklen))
return QByteArray(); return QByteArray();
@ -386,7 +386,7 @@ QByteArray QAESEncryption::encode(const QByteArray rawText, const QByteArray key
return ret; return ret;
} }
QByteArray QAESEncryption::decode(const QByteArray rawText, const QByteArray key, const QByteArray iv) QByteArray QAESEncryption::decode(const QByteArray &rawText, const QByteArray &key, const QByteArray &iv)
{ {
if (m_mode >= CBC && (iv.isNull() || iv.size() != m_blocklen)) if (m_mode >= CBC && (iv.isNull() || iv.size() != m_blocklen))
return QByteArray(); return QByteArray();

View File

@ -20,15 +20,15 @@ public:
CFB CFB
} MODE; } MODE;
static QByteArray Crypt(QAESEncryption::AES level, QAESEncryption::MODE mode, const QByteArray rawText, const QByteArray key, const QByteArray iv = NULL); static QByteArray Crypt(QAESEncryption::AES level, QAESEncryption::MODE mode, const QByteArray &rawText, const QByteArray &key, const QByteArray &iv = NULL);
static QByteArray Decrypt(QAESEncryption::AES level, QAESEncryption::MODE mode, const QByteArray rawText, const QByteArray key, const QByteArray iv = NULL); static QByteArray Decrypt(QAESEncryption::AES level, QAESEncryption::MODE mode, const QByteArray &rawText, const QByteArray &key, const QByteArray &iv = NULL);
static QByteArray ExpandKey(QAESEncryption::AES level, QAESEncryption::MODE mode, const QByteArray key); static QByteArray ExpandKey(QAESEncryption::AES level, QAESEncryption::MODE mode, const QByteArray &key);
QAESEncryption(QAESEncryption::AES level, QAESEncryption::MODE mode); QAESEncryption(QAESEncryption::AES level, QAESEncryption::MODE mode);
QByteArray encode(const QByteArray rawText, const QByteArray key, const QByteArray iv = NULL); QByteArray encode(const QByteArray &rawText, const QByteArray &key, const QByteArray &iv = NULL);
QByteArray decode(const QByteArray rawText, const QByteArray key, const QByteArray iv = NULL); QByteArray decode(const QByteArray &rawText, const QByteArray &key, const QByteArray &iv = NULL);
QByteArray expandKey(const QByteArray key); QByteArray expandKey(const QByteArray &key);
signals: signals:
@ -76,9 +76,9 @@ private:
void invMixColumns(); void invMixColumns();
void invSubBytes(); void invSubBytes();
void invShiftRows(); void invShiftRows();
QByteArray cipher(const QByteArray expKey, const QByteArray plainText); QByteArray cipher(const QByteArray &expKey, const QByteArray &plainText);
QByteArray invCipher(const QByteArray expKey, const QByteArray plainText); QByteArray invCipher(const QByteArray &expKey, const QByteArray &plainText);
QByteArray byteXor(const QByteArray in, const QByteArray iv); QByteArray byteXor(const QByteArray &in, const QByteArray &iv);
const quint8 sbox[256] = { const quint8 sbox[256] = {
//0 1 2 3 4 5 6 7 8 9 A B C D E F //0 1 2 3 4 5 6 7 8 9 A B C D E F