Pascal Script

  • 29 Feb

    How-To AES-256 Encrypt and Decrypt Files in LimagitoX File Mover

    We’ve added the following AES-256 Encrypt and Decrypt Pascal Script functions in v2020.2.29.0:

    • Function psSimpleDecryptFile(Source, Destination, Key: String; IVAtBeginning: Boolean): Boolean;
    • Function psSimpleEncryptFile(Source, Destination, Key: String; IVAtBeginning: Boolean): Boolean;

    psSimpleEncryptFile and psSimpleDecryptFile can be used to cypher/decypher any file content using AES-256 as encryption standard. The code uses a safe block chaining mode like CFB and PKCS7 padding. If ‘IVAtBeginning‘ is TRUE, a random Initialization Vector will be computed, and stored at the beginning of the output binary buffer. It will generate the binary key using SHA-256 over the supplied ‘Key’ string, and will use AES-NI hardware instructions if your CPU supports it.

    Some screenshots to get you started. Let’s begin with the encryption script. Source will be the directory of files you want to Encrypt. As Destination you’ll need to add a Pascal Script.

    The Script itself, don’t forget to adjust the ctOut path and the ctKey Const:

    Const
      ctOut = 'C:\Test\Out\Encrypted\';
      ctKey = '*-+Key0123456789';
    Begin
      // ... add your code here
      If psSimpleEncryptFile(psFilePath+psFilename, ctOut+psFileName, ctKey, True) then
      Begin
        psExitCode:= 1;
        psLogWrite(1, '', 'Encryption Successful: ' + psFilename + psFilePath);
      End
      Else
      Begin
        psExitCode:= 0;
        psLogWrite(1, '', 'Encryption Error: ' + psFilePath + psFilename);
      End;
    End.

    AES-256.Encryption.Setup

    In case you want to Decrypt Files, Source will be the directory containg the encrypted files (AES-256). As Destination you’ll need to add a different Pascal Script. Same here, don’t forget to adjust the ctOut path and the ctKey Const.

    Const
      ctOut = 'C:\Test\Out\Encrypted\Decrypted\';
      ctKey = '*-+Key0123456789';
    Begin
      psExitCode:= 1;
      // ... add your code here
      If psSimpleDecryptFile(psFilePath+psFilename, ctOut+psFileName, ctKey, True) then
      Begin
        psExitCode:= 1;
        psLogWrite(1, '', 'Decryption Successful: ' + psFilename);
      End
      Else
      Begin
        psExitCode:= 0;
        psLogWrite(1, '', 'Decryption Error: ' + psFilename);
      End;
    End.

    AES-256.Decryption.Setup

    If you need any help, please let us know.

    Regards,

    Limagito Team

     

  • 29 Dec

    Pascal Script Bugfixes

    Dear Users,

    In build v2019.12.29.0 we migrated to another Fork of Pascal Script. The one we were using was giving some issues on x64. The latest bug we received from a user was a Service crash when Pascal Script was trying to do a ‘LoadFromFile(File)’ when the ‘File’ was locked by another application.

    Regards,
    Limagito Team

  • 19 Nov

    Pascal Script, Creating a text file

    Dear users,

    Simple Pascal Script to create a txt file containing the files handled by our file mover.

    1 Add PS as Destination

    2. Add the following Pascal Script. Don’t forget to adjust the ctOutputPath and ctOutputFilename.

    Var
      tmpList: TStringList;
      tmpFile: String;
    Const
      ctOutputPath = 'C:\Test\Out\';
      ctOutputFilename = 'Info.txt';
    Begin
      psExitCode:= 1;
      // Init Var
      tmpFile := ctOutputPath + ctOutputFilename;
     
      tmpList := TStringList.Create;
      Try
        psLogWrite(1, '', 'Add ' + psfilePath + psFileName + ' to ' + tmpFile);
        If FileExists(tmpFile) Then
          tmpList.LoadFromFile(tmpFile);
        tmpList.Append(psFilePath + psFilename);
        tmpList.SaveToFile(tmpFile);
      Finally
        tmpList.Free;
      End;
    End.

    Regards,
    Pascal

1 10 11 12 13 14 15 16