'CryptIni.inc - Copyright © 2012 by Julian Schmidt
'Kontakt und Support über:
'http://julian-schmidt.xprofan.com/

Def DateiName(1) SubStr$(@$(1),-1,"\\")
Def DateiPfad(1) Translate$(@$(1),("\\" + DateiName(@$(1))),"")
Proc WriteCryptIni
    Parameters ini_datei$,rubrik$,eintrag$,wert$
    CryptINI(ini_datei$,$TempDir+"~"+DateiName(ini_datei$),"DECODE")
    WriteIni $TempDir+"~"+DateiName(ini_datei$),rubrik$,eintrag$,wert$
    CryptINI($TempDir+"~"+DateiName(ini_datei$),ini_datei$,"ENCODE")
    Erase $TempDir+"~"+DateiName(ini_datei$)
EndProc
Proc ReadCryptIni
    Parameters ini_datei$,rubrik$,eintrag$
    CryptINI(ini_datei$,$TempDir+"~"+DateiName(ini_datei$),"DECODE")
    Var wert$=ReadIni$($TempDir+"~"+DateiName(ini_datei$),rubrik$,eintrag$)
    Erase $TempDir+"~"+DateiName(ini_datei$)
    Return wert$
EndProc

Proc CryptINI
    Parameters Datei$, Datei2$, Modus$
    Declare tmp$
    Assign #1,Datei$
    Reset #1
    Assign #2, Datei2$
    ReWrite #2
    Close #2
    WhileNot eof(#1)
        Input #1,tmp$
        Assign #2,Datei2$
        Append #2
        case Upper$(Modus$)="ENCODE" : Print #2,Translate$(encode64(pwd$(tmp$)),"=","#")
        case Upper$(Modus$)="DECODE" : Print #2,pwd$(decode64(translate$(tmp$,"#","=")))
        Close #2
    EndWhile
    Close #1
EndProc
