ActiveX: SLCrypto      (Filnamn: SLCRYPTO.OCX)

SLCrypto är en ActiveX-kontroll som krypterar och dekrypterar filer. Som nycklar används två 28 bitars tal.


Egenskaper

Namn Datatyp Beskrivning
DestFileName char* Filnamn på destinationsfilen. Vid kryptering blir detta filnamnet på den krypterade filen och vid dekryptering blir detta filnamnet på den dekrypterade filen.
.
ErrorStatus long Om ett fel inträffar under kryptering eller dekryptering kan senaste felkod avläsas här. Felkoderna är samma som erhålls med Windows API-funktionen GetLastError. För en lista på möjliga felkoder kan dokumentationen till denna Windows-funktion studeras. Några vanliga felkoder är dock: 

2 - Hittar ej filen.
3 - Hittar ej katalogen.
4 - För många öppnade filer, kan ej öppna filen. 
5 - Åtkomst nekad, kan ej öppna filen.
8 - För lite minne i systemet för att fullfölja operationen.
87 - Felaktig parameter.
.
Key1 long Nyckel 1. 28-bitar används.
.
Key2 long Nyckel 2. 28-bitar används.
.
SrcFileName long Filnamn på källfilen. Fil som ska krypteras eller dekrypteras. 
.


Metoder 


BOOL Encrypt(); 

Krypterar en fil. Som källsökväg används egenskapen SrcFileName och som destinatonsfil används egenskapen DestFileName. Som nycklar används egenskaperna Key1 och Key2. Funktionen returnerar TRUE om allt gått bra eller FALSE vid fel. Vid fel kan egenskapen ErrorStatus avläsas för att erhålla felkod.

BOOL Decrypt();

Dekrypterar en fil. Som källsökväg används egenskapen SrcFileName och som destinatonsfil används egenskapen DestFileName. Som nycklar används egenskaperna Key1 och Key2. Funktionen returnerar TRUE om allt gått bra eller FALSE vid fel. Vid fel kan egenskapen ErrorStatus avläsas för att erhålla felkod. 
.


Exempel 

long st;
SLCrypto.SetKey1(13892);                              
// Nyckel 1
SLCrypto.
SetKey2(239782);                              // Nyckel 2
SLCrypto.
SetSrcFileName("C:\\Internet\\Caltest.txt");  // Källfil
SLCrypto.
SetDestFileName("C:\\Internet\\Caltest.cry"); // Destinationsfil
If (SLCrypto.Encrypt()==FALSE) {
    st=SLCrypto.GetErrorStatus();                     
// Om fel så hämtar vi felkod
}