Code: Select all
; Cipher.pbi
;===========
Procedure.s DecodeString(TextString.s)
StringMemorySize = StringByteLength(TextString) + SizeOf(Character)
*DecipheredString = AllocateMemory(StringMemorySize)
If AESDecoder(@TextString, *DecipheredString, StringByteLength(TextString), ?Key, 128, ?InitializationVector)
ProcedureReturn PeekS(*DecipheredString)
EndIf
ProcedureReturn ""
EndProcedure
Procedure.s EncodeString(TextString.s)
StringMemorySize = StringByteLength(TextString) + SizeOf(Character)
*CipheredString = AllocateMemory(StringMemorySize)
If AESEncoder(@TextString, *CipheredString, StringByteLength(TextString), ?Key, 128, ?InitializationVector)
ProcedureReturn PeekS(*CipheredString)
EndIf
ProcedureReturn ""
EndProcedure
DataSection
Key:
Data.b $1E, $D6, $F0, $6B, $D1, $75, $BF, $A6, $DD, $10, $9F, $64, $3B, $E7, $3F, $90
InitializationVector:
Data.b $9F, $8F, $B0, $19, $30, $D0, $A4, $91, $44, $4C, $9F, $CB, $A2, $FC, $BA, $12
EndDataSection
Code: Select all
IncludeFile "Cipher.pbi"
Server$ = "sftp://super.secret.server"
Login$ = "superlogin"
Password$ = "secretpassword"
EncodedServer$ = EncodeString(Server$)
EncodedLogin$ = EncodeString(Login$)
EncodedPassword$ = EncodeString(Password$)
DecodedServer$ = DecodeString(EncodedServer$)
DecodedLogin$ = DecodeString(EncodedLogin$)
DecodedPassword$ = DecodeString(EncodedPassword$)
Debug EncodedServer$
Debug EncodedLogin$
Debug EncodedPassword$
Debug " "
Debug DecodedServer$
Debug DecodedLogin$
Debug DecodedPassword$
Code: Select all
IncludeFile "Cipher.pbi"
#File = 0
Server$ = "sftp://super.secret.server"
Login$ = "superlogin"
Password$ = "secretpassword"
EncodedServer$ = EncodeString(Server$)
EncodedLogin$ = EncodeString(Login$)
EncodedPassword$ = EncodeString(Password$)
CreateFile(#File, "TestFile.txt")
WriteStringN(#File, EncodedServer$)
WriteStringN(#File, EncodedLogin$)
WriteStringN(#File, EncodedPassword$)
CloseFile(#File)
Code: Select all
IncludeFile "Cipher.pbi"
#File = 0
OpenFile(#File, "TestFile.txt")
Server$ = ReadString(#File)
Login$ = ReadString(#File)
Password$ = ReadString(#File)
CloseFile(#File)
DecodedServer$ = DecodeString(Server$)
DecodedLogin$ = DecodeString(Login$)
DecodedPassword$ = DecodeString(Password$)
Debug DecodedServer$
Debug DecodedLogin$
Debug DecodedPassword$

