Je rencontre un problème lors du chiffrement de certaines données dans le fichier. J'utilise simple xor pour ça. laisse dire que j'ai cette struct:Problème de chiffrement de fichier binaire
struct MyFile{
char fileName[128];
int account;
float balance;};
sauver en tant que fichier binaire fonctionne correctement, mais quand je l'utilise XOR pour crypter le nom du fichier dans le struct et enregistrez le struct HD puis lire la struct et déchiffrer le nom du fichier ne montre pas les caractères correctement. J'utilise cette fonction simple pour le but de cryptage/décryptage.
static void Codec(const char *key,int keySize,char* in,char *result,int length)
{
for(int i=0;i<length;i++)
result[i]=in[i]^key[i%keySize];
}
Notez que lorsque je crypte le nom de fichier et le décrypte directement en mémoire, le résultat est correct. qu'est-ce que je manque comme pourquoi est-il changé quand sauvegardé sur le disque dur. Veuillez répondre au plus tôt et au plus tôt ...
Vous ne pouvez pas vraiment utiliser le Étiquette de 'cryptage' lorsque vous posez des questions sur une question XOR ... Cela prend à peu près 0,0001 secondes pour que n'importe quel type connaisse votre 'clé'. –
Comment écrivez-vous/lisez-vous le fichier? Et @ Remus, il semble qu'il utilise un pad une fois, puisque son code utilise un flot de clés. C'est techniquement sécurisé tant qu'il ne réutilise pas la clé.EDIT: oh, sauf s'il utilise une clé plus courte que le fichier. Alors oui, ça va être ridiculement facile à comprendre – Xzhsh
Essayez xor'ing avec des zéros pour la clé - est-ce que votre algo fonctionne? –