en oikeen tiedä kuuluuko tämä tänne merkkijonoihin vai seksalaisiin... kuitenkin jonnekin... tämä cryptaa tekstin annetun avaimen avulla. purkaa voi kanssa sillä samalla avaimella. ei kannata tehdä cryptausohjelmaa joka kryptaa toisen tekstikentän sisällön toiseen koska tähän saattaa tulla vaikkamitä erikoismerkkejä joita tekstilootat eivät hyväksy, joten laitoin pelkän function
Function XORCrypt(CryptData As String, CryptKey As String) As String
Dim XOR1 As Integer 'se merkki tosta jonosta
Dim XOR2 As Integer 'avaimen maski äkstai
Dim RetVal As String 'lopputulos
For ptr = 1 To Len(CryptData) 'käydään kaikki merkit läpi
XOR1 = Asc(Mid(CryptData, ptr, 1)) 'napataan se merkki joka cryptataan
XOR2 = Asc(Mid(CryptKey, ((ptr Mod Len(CryptKey)) + 1), 1)) 'maski vai mikskä sitä nyt kutsutaan
RetVal = RetVal + Chr(XOR1 Xor XOR2) 'cryptataan
Next
XORCrypt = RetVal 'valmista
End FunctionHmm... Pitäs varmaan joskus testata.
Kätevä XOR-kryptaus.
Joo, ihan hyvä cryptaus :)
toimiikohan printillä kaikki erikoismekit?
ei toimi, nää joiden ascii on alle 32 on jotai linefeedei tai jotain, voihan kuitenki kryptaa esim tiedoston hienosti sillon sitä ei tarvi printtaa vaan tunkee toiseen tiedostoon jonka avaa vaikka binaryks
mitenkähän ton sais purettua?
samalla tavalla kuin kryptaakin. eli xorcrypt(xorcrypt("Höh",66),66) antaa "Höh".
heh, huomasin että tuohan on muutes aika kätevä tapa myös jos tekee omia tiedostoja, koska tuohan toimii myös dekryptaajana kunhan kryptkey on sama ja laittaa kryptatun tekstin takaisin kryptattavaksi niin siitä tulee taas luettavaa :)
Ei toi kyllä kovin hyvä ollu. Meinaan on bugeja
Missä muka bugeja.
Kaikkialla
Ittessäs on bugeja! Tämä toimii.
lainaus:
mitenkähän ton sais purettua?
Niin kuin sooda ja nomic selittivätkin jo, XOR-salaus puretaan syöttämällä sisälle salattu teksti. Tällaisia salauksia, jotka kryptaantuvat ja dekryptaantuvat samalla algoritmilla, kutsutaan symmetrisiksi salauksiksi.
routilaj taisi tarkoittaa Chr 0 -hommaa.
domino xor domino...
konslisoelluksessa tulee hyvät merkit!
Aihe on jo aika vanha, joten et voi enää vastata siihen.