매우 간단한 암호화/해독 프로그램이 있습니다. 암호화가 끝나면 내 프로그램은 암호화 된 텍스트를 QByteArray로 반환하여 텍스트 파일에 저장합니다. 암호 해독 파일에서이 ByteArray를 검색 할 때 내 암호화가 제대로 포맷하거나 파일이 여기에 \n
Qt C++ QByteArray를 파일에 암호화 된 텍스트로 저장 한 다음 QByteArray로 읽고 다시 포맷하는 방법
같은 추가 문자의 어떤 종류를 추가하는 경우 잘 모르겠어요/기능을 해독 :
void Handler::updatePMEF(QString format) {
SimpleCrypt crypto(Q_UINT64_C(0x0c2ad4a4acb9f023));
QString result = crypto.encryptToByteArray(format);
QFile file("C:/test.txt");
if (file.open(QIODevice::ReadWrite)) {
QTextStream stream(&file);
stream << result << endl;
}
}
QString Handler::openPMEF() {
QByteArray encrypted;
QFile file("C:/test.txt");
if (file.open(QIODevice::ReadOnly)) {
encrypted = file.readAll();
}
SimpleCrypt crypto(Q_UINT64_C(0x0c2ad4a4acb9f023));
QString decrypted = crypto.decryptToByteArray(encrypted);
return decrypted;
}
openPMEF()
을 호출 한 후 디버거에서 아무 것도 반환하지 않으므로 잘못된 것으로 생각됩니다.
나는 그것이 변환 것이라고 희망 QByteArray = encrypted
을하고 노력하고 디버거가 반환하기 전에 :을 writting에 QTextStream
을 사용하기 때문에
Decrypyted: ????\u00153C?????qW\f????\u00153\u0019????\u00153\u001C????\u0006 \u001C?????2\u0014\u001C????\f*v?????\u00153'?????\u0004\"~?D?\u0005?\u00153(???? \u0006\u001Cf???\u00153I?????dB2??\u00153\u001C????\u00153l?????-\u000B\u001C?????\u00153I?????\u00153\u001C????\u0018>\u001Cf???\u00153(?????jLa????\u00153\u0006?????\u001D;)????DbK????~X\u0010Ö???\u0001'\u001B?????rTl?????\u0005#Z????X~Q?????F`G???²\u001A<B???? \u0006G?????F`r????? \u0006
(
QString
가 저장 문자열이 아닌 바이트 배열에 의미)QString
(A)의를 반환하는SimpleCrypt::encryptToByteArray
을 수정했다 하지만 읽을 때 null이 반환됩니다. – James@JamieThirkell : 내 게시물의 편집을 참조하십시오. 먼저 결과를'QByteArray'로 변환하고 그 크기를 확인하여 파일에 뭔가를 쓰고 있는지 확인하십시오! – jpo38
고마워, 조금 손을 흔들어서 나는 일하도록했다. – James