#include "Encryptionn.h"
#include <QDebug>
Encryptionn::Encryptionn(QWidget *parent)
: QWidget(parent)
{
QString plainTextStr = "你好!啊發到付ABC";
QByteArray plainText = plainTextStr.toLocal8Bit();
QByteArray a= encryption(plainText);
qInfo()<<"加密 = "<<a;
QByteArray encry = getXorEncryptDecrypt(a, ',');
qInfo()<<"加密encry = "<<encry;
QByteArray plain = getXorEncryptDecrypt(encry, ',');
qInfo()<<"解密plain = "<<plain;
QByteArray b = Deciphering(plain);
QString str = QString::fromLocal8Bit(b);
qInfo()<<"解密 = "<<str;
}
Encryptionn::~Encryptionn()
{
}
QByteArray Encryptionn::encryption(QByteArray plaintextStr)
{
QByteArray ciphertext = plaintextStr.toBase64();
return ciphertext;
}
QByteArray Encryptionn::encryption(QString plaintextStr)
{
QByteArray plainByte = plaintextStr.toLocal8Bit();
return encryption(plainByte);
}
QByteArray Encryptionn::Deciphering(const QByteArray ciphertext)
{
QByteArray plaintext = QByteArray::fromBase64(ciphertext);
return plaintext;
}
QByteArray Encryptionn::getXorEncryptDecrypt(const QByteArray &str, const char &key)
{
QByteArray bs = str;
for(int i=0; i<bs.size(); i++){
bs[i] = bs[i] ^ key;
}
return bs;
}