Функция оригинал:
QString stringEncrypt(QString strInput, QString strPassword)
{
int i,j;
QString strOutput="";
// Перевод строк в битовые массивы с использованием локальных таблиц
QByteArray baInput = strInput.toLocal8Bit();
QByteArray baPassword = strPassword.toLocal8Bit();
// Кодирование информации
for (i=0; i < baInput.size(); i++)
{
for (j=0; j < baPassword.size(); j++)
{
// XOR - кодировка символа
baInput[i] = baInput[i] ^ (baPassword[j] + (i*j));
}
//Преобразование числа в шестнадцатеричную систему
strOutput += QString("%1").arg((int)((unsigned char)baInput[i]),2,16,QChar('0'));
}
//Возврат кодированной строки
return strOutput;
}
# -*- coding: utf-8 -*-
from PyQt4 import QtCore
# Кодирование строки
def stringEncrypt(strInput, strPassword):
strOutput = QtCore.QString('')
# Перевод строк в битовые массивы с использованием локальных таблиц
baInput = QtCore.QByteArray(QtCore.QString(strInput).toLocal8Bit())
baPassword = QtCore.QByteArray(QtCore.QString(strPassword).toLocal8Bit())
# Кодирование информации
for i in range(baInput.size()):
for j in range(baPassword.size()):
# XOR - кодировка символа
baInput[i] = baInput[i] ^ (baPassword[j] + (i*j))
#Преобразование числа в шестнадцатеричную систему
strOutput += QString("%1").arg(int(chr(baInput[i])),2,16,QChar('0'))
# Возврат кодированной строки
return strOutput