User16087

Base64Encode changed behaviour in 16

Discussion created by User16087 on Jul 4, 2017
Latest reply on Jul 4, 2017 by 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

Outcomes