6 Replies Latest reply on Jul 4, 2017 10:38 PM by User16087

    Base64Encode changed behaviour in 16

    User16087

      Product and version

      FileMaker Pro Advanced 16.0.1.162 and FileMaker Pro Advanced 15.0.3.305

       

      OS and version

      macOS 10.12.5

       

      Description

      Base64Encode is not back compatible from FileMaker 16 on macOS.

      The function adds an extra control character at the end of the base 64 string.

       

      This doesn't create issues when using Base64Decode, but when using the function to calculate the basic auth of an API the extra character breaks the communication with the API.

       

      Example: "Authorization: Basic " & Base64Encode( "myAPIkey" )

       

      If it's completely superseded by Base64EncodeRFC, keeping it it's only interesting for back compatibility, and we lose it here

       

      EDITED

      The extra character is only added on macOS, not on Windows, so the function is not consistent between OS

       

      How to replicate

      Length ( Base64Encode ( "test" ) )

       

      returns 8 on FileMaker Pro 15

      returns 9 on FileMaker Pro 16

       

      Workaround (if any)

      using Base64EncodeRFC ( 4648 ; "test" ) in FileMaker 16 is a workaround, but it means all existing scripts need to be changed