Sample code for 30+ languages & platforms
Dart

Set the FTP Password from a SecureString

See more FTP Examples

Demonstrates the Chilkat Ftp2.SetSecurePassword method, which sets the login password from a SecureString. The only argument is the SecureString. It is equivalent to setting the Password property but avoids holding the password as an ordinary immutable string.

Background: An ordinary string password can linger in memory (and in memory dumps) because strings are immutable and copied freely. A SecureString keeps the value encrypted under a session key and clears it deterministically, reducing that exposure — a sensible upgrade for a credential the process holds for the life of the connection. Populate it from a runtime source rather than a hard-coded literal.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // Demonstrates the Ftp2.SetSecurePassword method, which sets the login password from a
  // SecureString.  The only argument is the SecureString.  This avoids holding the password as an
  // ordinary immutable string.

  final ftp = CkFtp2();

  ftp.hostname = 'ftp.example.com';
  ftp.username = 'myFtpLogin';

  // Normally you would not hard-code the password in source.  You should instead obtain it
  // from an interactive prompt, environment variable, or a secrets vault.
  final password = 'myPassword';

  // Place the password into a SecureString, which keeps it encrypted in memory.
  final securePassword = CkSecureString();
  securePassword.append(password);

  // Setting the secure password is equivalent to setting the Password property, but more
  // protective.
  try {
    ftp.setSecurePassword(securePassword);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  try {
    ftp.connect();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('Connected using a secure password.');

  try {
    ftp.disconnect();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }
}