Avatar billede kasseper Nybegynder
24. januar 2002 - 13:15 Der er 9 kommentarer og
2 løsninger

Algoritme - kryptering

Jeg har en krypterings algoritme der genrere et array af tal mellem -512 og 512, udfra en given nøgle.
Det jeg så gerne vil ha det er en metode til at lave disse tal om til chars, men på en måde så jeg igen kan ganskabe det oprindelige tal.
Dvs. at jeg skal lave om på tallet der er mellem -512 og 512 således at det rammer inden for den 'range' der er defineret for en char.
Håber at det er forståeligt.

Kasper
Avatar billede kasseper Nybegynder
24. januar 2002 - 13:17 #1
ganskabe skal ikke være galskab, men genskabe :)
Avatar billede disky Nybegynder
24. januar 2002 - 13:26 #2
læg 512 til så værdien går fra 0-1024 den værdi kan godt være i en char. som er 16 bit (uni-code)
Avatar billede kasseper Nybegynder
24. januar 2002 - 13:29 #3
OK, hvordan laver jeg så tallet fra 0 til 1024 om til en char ?
Avatar billede kasseper Nybegynder
24. januar 2002 - 13:37 #4
OK, det svar jeg gerne vil ha er hvordan dette array :
[-14, 133, -410, 500, 60] laves om til en streng på 5 tegn, og tilbage igen.
Avatar billede kasseper Nybegynder
24. januar 2002 - 14:09 #5
Disky >> Jeg er desvære nød til at forkaste din løsning. Lad mig præcisere :
Jeg skal ha en valid streng ud af de 5 tegn. Altså noget der kan skrives på skærmen ! og f.eks. 1023 gir ikke noget....! Desuden skal jeg kunne tage det der står på skærmen og tage char value på hvert tegn, og få en værdi jeg kan lave om til det oprindelige tal...!
Avatar billede disky Nybegynder
24. januar 2002 - 14:16 #6
for(int x=0;x<array.length;x++)
{
  array[x]=array[x]+512;
}
String str=new String(array);

den anden vej:

array[]=new int[str.length()];
for(int x=0;x<str.length();x++)
{
  array[x]=str.charAt(x)-512;
}


Det skal dog siges, at du kan ikke umiddelbart udskrive din streng da den kan indeholde ikke ascii værdier.

Kan være der skal typecastes lidt.
Avatar billede kasseper Nybegynder
24. januar 2002 - 14:21 #7
Men jeg skal kunne udskrive....
Avatar billede kasseper Nybegynder
24. januar 2002 - 14:26 #8
Hvilket jo faktisk inskrænker at den værdi jeg skal stå med skal være mellem 33 og 126....hmmmmm, jeg runder lige spg. point'sne op til max....Jeg er blank.....
Avatar billede disky Nybegynder
24. januar 2002 - 14:33 #9
32 er også en gyldig ascii værdi det er nemlig mellerum.

Så skal du ændre på din krypteringsalgorime. til kun at give værdier imellem 32 og 127.

Så kan du bruge mine routiner uden at add'e og sub'e 512
Avatar billede kasseper Nybegynder
05. marts 2002 - 13:18 #10
Sorry disky, jeg har været væk fra maskinen i længere tid, derfor intet svar.
Jeg valgte at bruge en anden algoritme, og dermed blev din metode ligegyldig, men den var dog trods alt brugbar, så du for lidt for svaret og lidt for ventetiden, håber det er i orden med halv skade...!
Avatar billede disky Nybegynder
05. marts 2002 - 14:50 #11
Det er helt fin med mig :-)

Rart at høre du fandt en løsning :)
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