Nu har jag kommit till det stadiet när min kod nästan är klar. Jag tänkte visa lite hur den kommer se ut mot slutet. Jag med att tänka hur jag skulle gå tillväga. Jag kom fram till att använda ascii-värdet på bokstäverna vore det allra bästa.
I den första versionen av scriptet så använde jag mig av föjande funktion för att få fram ascii-värdet:
Code:
$+ $replace($1-,a,$asc(a) $+ ;,b,$asc(b) $+ ;,c,$asc(c) $&
$+ ;,d,$asc(d) $+ ;,e,$asc(e) $+ ;,f,$asc(f) $+ ;,g,$asc(g) $+ ;,h,$asc(h) $+ ;,i,$asc(i) $+ ;$&
,j,$asc(j) $+ ;,k,$asc(k) $+ ;,l,$asc(l) $+ ;,m,$asc(m) $+ ;,n,$asc(n) $+ ;,o,$asc(o) $+ ;,p,$asc(p) $&
$+ ;,q,$asc(q) $+ ;,r,$asc(r) $+ ;,s,$asc(s) $+ ;,t,$asc(t) $+ ;,u,$asc(u) $+ ;,v,$asc(v) $+ ;,w,$asc(w) $&
$+ ;,x,$asc(x) $+ ;,y,$asc(y) $+ ;,z,$asc(z) $+ ;,å,$asc(å) $+ ;,ä,$asc(ä) $+ ;,ö,$asc(ö) $+ ;,$chr(32),144 $+ ;)
Detta är dock varken effektiv eller fin kod. Men det var min första idé på hur man skulle gå tillväga. Det fungerar och man får ut alla ovanstående listade bokstäver i ascii. Men alla andra tecken händer det ingenting med.
Ett problem som jag upplevde var att det finns inga arrays till mirc scripts. Utan man får klara sig med enkla variabler. När det inte finns några arrays att tillgå, är det då man ger upp? Eller är det då man gör en egen? Självklart valde jag att göra en egen, bara för att. Dock var den baserad på variabler - men den fungerar som en array. När jag var klar kunde ovanstående kod bytas ut mot:
Code:
while %i <= $numtok(%x,44) {
set %message %message $+ $chr($gettok(%x,%i,44))
inc %i
Jag skulle vilja påstå att det är en förändring till det bättre. Från 482 tecken till 85. Inte nog med att det är renare och mer funktionell kod, det fungerar på alla tecken, bokstäver och siffror. Nu ska jag bara göra klart själva algoritmen, som jag håller på att jobbar med. Jag tänkte att det skulle vara baserat på en nyckel, som bara användaren och den som informationen skickas till vet om (se PSK). Det är ungefär där jag är idag. Jag kan kryptera/dekryptera och få det att fungera per automatik. Nu fattas bara en smart algoritm.