Avatar billede repsak Nybegynder
08. november 2003 - 10:19 Der er 13 kommentarer og
1 løsning

Streng som binær

Jeg skal have skrevet indholdet af en logfil i en binærfil, så det ikke er muligt at læse den. Hvordan gør jeg det? (jeg ønsker ikke at benytte kryptering)

har prøvet
using(BinaryWriter binWriter = new BinaryWriter(File.Open("bin.dat", FileMode.Create))){
    binWriter.Write("Hej dette er en text som skal skrives binært".ToCharArray());
    binWriter.Flush();
    binWriter.Close();
}

men det virkede bare som normal tekstwriter
Avatar billede arne_v Ekspert
08. november 2003 - 13:41 #1
Der er ikke forskel på text og binært for tekst !

"abc" bliver 0x41 0x42 0x43 både text og binært.

Forskellen ligger i tal:

1 er 0x01 0x00 0x00 0x00 binært (little endian) men 0x31 som text.
Avatar billede arne_v Ekspert
08. november 2003 - 13:42 #2
Lav en hurtig XOR med en key for en obfuskering.
Avatar billede repsak Nybegynder
08. november 2003 - 14:01 #3
1) kan man virkelig ikke få den til at skrive nogle 0'er og 1'er?
2) XOR ?
Avatar billede arne_v Ekspert
08. november 2003 - 14:19 #4
re 1)

Alt både tekst og tal er jo 0 og 1.

0x41 er 01000001 men det bliver jo vist som A.
Avatar billede arne_v Ekspert
08. november 2003 - 14:20 #5
re 2)

^ operatoren
Avatar billede arne_v Ekspert
08. november 2003 - 14:26 #6
Kode eksempel:

using System;

class MainClass
{
    public static void Main(string[] args)
    {
        string s1,s2,s3;
        s1 = "abc";
        s2 = "";
        for(int i = 0; i < s1.Length; i++) s2 += (char)(s1[i] ^ 'x');
        s3 = "";
        for(int i = 0; i < s2.Length; i++) s3 += (char)(s2[i] ^ 'x');
        Console.WriteLine(s1 + " -> " + s2 + " -> " + s3);
    }
}
Avatar billede repsak Nybegynder
08. november 2003 - 14:54 #7
re re 1) jeps, men jeg trode bare at man kunne skrive tekst lidt mere kringlet, men ok :-)
re re 2) Ok den har jeg dælme aldrig brugt - prøver...
Avatar billede repsak Nybegynder
08. november 2003 - 14:57 #8
output
abc ->  (pilned)
???
Avatar billede arne_v Ekspert
08. november 2003 - 15:21 #9
Ja.

Du ville jo have noget binært ulæseligt krims krams og det får du.

Men s3 skulle gerne være tilbage til original.
Avatar billede repsak Nybegynder
08. november 2003 - 15:23 #10
ja, men den skriver ikke s3??? Gør den det hos dig?
Avatar billede arne_v Ekspert
08. november 2003 - 15:49 #11
Ja.
Avatar billede arne_v Ekspert
08. november 2003 - 15:50 #12
Jeg får:

abc -> &#8595;&#8594;&#8592; -> abc
Avatar billede arne_v Ekspert
08. november 2003 - 15:51 #13
Men den slags non-printable tegn kan godt drille lidt når de printes
til skærmen.

Men nu skal det jo heller ikke printes til skærmen, men derimod
til din binære fil.
Avatar billede repsak Nybegynder
08. november 2003 - 15:59 #14
ahhh se DET var sejt :-D
tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester