我创建了一个加密/解密程序,加密时我将加密的QByteArray存储在一个文本文件中.
在尝试解密时,我检索它然后将其放入解密方法,问题是我需要一种方法将其转换为QByteArray 而不更改格式,否则它将无法正确解密.我的意思是,如果文件给我一个1234的加密值,我将1234.toLatin1()它转换为QByteArray,它改变了值,解密不起作用.有什么建议?
我的代码:
QFile file(filename);
QString encrypted;
QString content;
if (file.open(QIODevice::ReadOnly)) {
QTextStream stream( &file );
content = stream.readAll();
}
encrypted = content.replace("\n", "");
qDebug() << encrypted; // Returns correct encrypted value
QByteArray a;
a += encrypted;
qDebug() << "2 " + a; // Returns different value than previous qDebug()
QByteArray decrypted = crypto.Decrypt(a, key);
return decrypted;
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用函数更新客户端详细信息.但它不起作用.我调试程序,我意识到它永远不会进入if.我不知道为什么?
这是功能:
def UpdateClient(self,id,cnp,name,adress):
for i in range (len(self.clients.get_all())):
if self.clients.get_all()[i].get_id==id:
self.clients.get_all()[i].set_name(name)
self.clients.get_all()[i].set_cnp(cnp)
self.clients.get_all()[i].set_adress(adress)
Run Code Online (Sandbox Code Playgroud)
当我尝试更新客户端,我给了id,name,cnp,和adress,但是当我打印的清单不会发生任何变化.我无法进入if调试器,因为它说它们永远不会相等.为什么?