Tämä on eräs kryptauskoodi, joka on tarkoitettu merkkijonojen , esim. salasanojen kryptaukseen.
Toimintaidea on tämä: Muutetaan merkki kerralaan ASCII:ksi , lisätään siihen satunnainen luku ja luodaan sitten nyt syntyneelle merkkijonolle avauskoodi.
Eihän tää mikään huippuhieno ole, mutta ainahan sitä voi kehitellä...
Käyttö: Kopioi koodit dll:ään(ActivexDll) (tai muuta vähän ja käytä EXE:ssä)
kryptausfunktio
Public Function kryptaa(ss As String) As String 'funktiolle annetaan kryptattava merkkijono avain$ = "" 'tyhjennetään avain For a = 1 To Len(ss) 'käydään läpi joka merkki av$ = "" alk: Randomize im = Asc(Mid(ss, a, 1)) 'otetaan merkin ASCII- koodi ran = Int(Rnd * 254) + 1 'arvotaan luku im = im + ran 'lisätään se otettuun ascii-koodiin If im = 13 Then GoTo alk 'jos enter, niin uusiksi If im > 255 Then im = im - 255 'varmistetaan, ettei yli 255 If ran < 100 Then av$ = av$ + "0" 'lisätään tarvittaessa nollia, että pituus on 3 If ran < 10 Then av$ = av$ + "0" av$ = av$ + CStr(ran) 'nyt on yksittäisen merkin koodi kolminumeroisena aASCII koodina tyyliin 065 avain$ = avain$ + av$ 'lisätään se avaimeen sa$ = sa$ + Chr$(im) 'lisätään muutettu merkki kryptattuun merkkijonoon Next a kryptaa = sa$ + "," + avain$ 'palauttaa arvon muodossa "kryptattu jono","avain" End Function
kryptauksen avaus
Public Function dekryptaa(ss As String, avain As String) As String 'funktiolle annetaan kryptattu merkkijono ja avain sala$ = "" For a = 1 To Len(ss) 'käydään läpi merkki merkiltä b$ = Mid(ss, a, 1) 'otetaan kohta kryptatusta merkkijonosta d = (a - 1) * 3 + 1 'sen pituus avaimessa c$ = Mid(avain, d, 3) 'otetaan kryptatun merkkijonon kohtaa vastaavat kolme merkkiä avaimessa e = CInt(c$) 'muutetaan luvuksi f = Asc(b$) 'käsiteltävän merkin ASCII-koodi koodi = f - e 'muutetaan se avaimesta saadun luvun avulla takaisin selkeään muotoon eli dekryptataan If koodi < 1 Then koodi = koodi + 255 sala$ = sala$ + Chr$(koodi) 'lisätään selkeään merkkijonoon Next a dekryptaa = sala$ 'palauttaa selkeän merkkijonon End Function
kryptauksen avaus suoraan kryptaa-funktion palauttamasta arvosta
Public Function sal(kirjoitus As String) As String 'funktiolle annetaan kryptausfunktion palauttaman kaltainen merkkijono, joka sisältää kryptatun merkkijonon ja avaimen pilkulla erotettuna f = InStr(kirjoitus, ",") 'pilkun paikka salasana$ = Left$(kirjoitus, f - 1) 'erotetaan merkkijono ja avain avain$ = Right$(kirjoitus, Len(kirjoitus) - f) sal = dekryptaa(salasana$, avain$) 'palauttaa dekryptausfunktion avulla selkeän merkkijonon End Function
Aihe on jo aika vanha, joten et voi enää vastata siihen.