From 80caac69c56411ef2df487f3e514abccad480572 Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Tue, 5 May 2015 22:35:00 +0200 Subject: Fix a rare bug according to Heiko --- src/crypt/cryptrc4.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/crypt/cryptrc4.cpp') diff --git a/src/crypt/cryptrc4.cpp b/src/crypt/cryptrc4.cpp index 88806c8..2154b04 100644 --- a/src/crypt/cryptrc4.cpp +++ b/src/crypt/cryptrc4.cpp @@ -24,12 +24,14 @@ void CryptRc4::rc4SetKeyOwn(QByteArray key) m_rc4Key.x = 0; m_rc4Key.y = 0; - for(RC4_INT i = 0; i < 256; i++) + for (int i = 0; i < 256; i++) { - m_rc4Key.data[i] = i; + m_rc4Key.data[i] = i; } + RC4_INT j = 0; - for(RC4_INT i = 0; i < 256; i++) + + for (int i = 0; i < 256; i++) { j = (j + m_rc4Key.data[i] + key[i % key.length()]) % 256; swap(m_rc4Key.data[i], m_rc4Key.data[j]); @@ -50,14 +52,16 @@ QByteArray CryptRc4::rc4RunOwn(QByteArray clear) RC4_INT i = 0; RC4_INT j = 0; - for(int k = 0; k < crypt.length(); k++) + + for (int k = 0; k < crypt.length(); k++) { i = (i + 1) % 256; j = (j + m_rc4Key.data[i]) % 256; swap(m_rc4Key.data[i], m_rc4Key.data[j]); - crypt[k] = crypt[k] ^ m_rc4Key.data[(m_rc4Key.data[i] + m_rc4Key.data[j]) % 256]; + crypt[k] = crypt[k] ^ m_rc4Key.data[(m_rc4Key.data[i] + m_rc4Key.data[j]) % + 256]; } return crypt; -- cgit v1.2.3-70-g09d2