Reputation: 388
My vba code in an MS Access database (which has access to a SQL Server) has - for reasons I have no control over - to control a ftpUser. So there is the need to use the ftpUsername
and the corresponding password
. For this I have to create a string like this: "ftp://do-main\thFtpUser:thesecretPwd/some/path/" and pass it to a internal web service.
How to store the password, so the person who works with the MS Access file (aka the user) has no access to the password of the ftp user? At least it should be as difficult as possible for the user to get the password.
The solution used here: MS access Encrypt Users Passwords Stored in User Table (SQL) is just a step more to obscure the password. But everyone who has access to the VBA code and the SQL Server can get the password in plain text.
Other solutions like storing just the hash and comparing the input will not work because I have to construct the string to pass it to another program.
I already figured out that the password should at least be in the SQL Server database so not everyone who got to the MS Access file with the code can get the password.
Upvotes: 0
Views: 165
Reputation: 311
You can make an MS Access executable file (accde) and distribute. That way your VBA code incl. ftp credentials will be (reasonably) hidden from (general) users.
Upvotes: 1