Most likely the input format for decryption for either data or key or IV is not as expected.
For instance, if outputFormat is hexa for encryption, then inputFormat for decryption shall be hexa and all parameters (data, key, IV) shall be in hexa. If not, just convert them (raw is usually fine) before decrypting.
If I switch to raw, the -207 error does not occur, but it cannot decrypt the texts generated in version 4.3.3.0.
And new encrypted texts in the new version cannot be decrypted by previous versions of my application.
I tried various combinations of InputFormat and OutputFormat, but I couldn't maintain backward compatibility.
Based on the configuration screenshot for version 4.3.3.0, what is the correct configuration for version 5.0.9.3 so that texts encrypted by the current version can be decrypted by the previous version?
In previous versions, it was enough to set the OutputFormat to hexa once in the entire application (it worked for encryption and decryption).
I suggest putting this information in the documentation as other users may have the same problem.
I would like to know if the {$DEFINE IDEVERSION1021} option in tmscrypto.inc is still used and, if it is, I would like to suggest that you leave this option active by default.
That is correct.
Random services are now in RandomCoreW.pas for Windows and RandomCoreL.pas for all other systems.
Because this makes things complicated for Smart Setup, I have already merged these 2 files into RandomCore.pas. This will be available in the next release, next week or so.
Found extended
iIni := TEncryptedIniFile.Create(AutoLoginFileLocationExp, ikey, yesNo, hexa);
but couldn't get the right prarams to be compatible to previous version.
Hm. I've added
aes.inputFormat := hexa;
in LoadValues and UpdateFile for the moment and converted the key to hexa but it's not compatible to the prior version and I can't read the old files.