mirror of
https://github.com/QuasarApp/Qt-AES.git
synced 2025-05-21 01:09:34 +00:00
QByteArrays now passed by reference to improve performance
This commit is contained in:
parent
8b58ac9a3b
commit
8b9bcdd933
@ -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();
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user