Skip to content

MixKage/cipher_vault

Repository files navigation

Cipher Vault

Example of using

The simplest example is when we have two states. We don't know the password - we display the animation. We know the password - we display an animation that will eventually show the password.

CipherVault(
    secret: _isShowSecretBool ? 'cipher_vault' : null,
),

When the password is shown at the end of the animation, we can copy using Selectable Text or use our copy widget

CipherVault(
    secret: 'My Password',
    buttonCopy: YourButtonCopyWidget(),
),

You can fine-tune the animation using the configurator. For example, to adjust the animation speed or to use other languages. Check Example in lib

CipherVault(
    secret: 'Мой секрет 3',
    textStyle: const TextStyle(fontSize: 18.0),
    config: CipherVaultConfig(
        alphabetCipherVault: myAlphabet,
        minLengthCipherVault: 10,
        maxLengthCipherVault: 20,
    ),
),

All available settings at the moment

/// VaultConfig - Fine-tuning the CipherVault
///
/// [alphabetCipherVault] - The symbols that can make
///  up the animation of the secret
///
/// [minLengthCipherVault] - Minimum secret length
///
/// [maxLengthCipherVault] - Maximum secret length
///
/// [updateAnimationUpdate] - Animation widget refresh rate
///
/// [updatePasswordAnimationUpdate] - Refresh rate of the password
///  display animation widget
///
/// [showAnimationFrequency] - How often characters are replaced when
///  animating a classified secret. The standard value is 0.2
///
/// [showPasswordAnimationFrequency] - How often characters are replaced
///  when animating the declassification of a secret.
///  The standard value is 0.5
///
/// [countAttemp] - The number of possible replacements when the
///  password is declassified. The standard value is 5
const CipherVaultConfig({
    required this.alphabetCipherVault,
    required this.minLengthCipherVault,
    required this.maxLengthCipherVault,
    required this.updateAnimationUpdate,
    required this.updatePasswordAnimationUpdate,
    required this.showAnimationFrequency,
    required this.showPasswordAnimationFrequency,
    required this.countAttemp,
});

Changelog

Refer to the Changelog to get all release notes.

Maintainers

Valerij Shishov Igor Molchanov

This library is open for issues and pull requests. If you have ideas for improvements or bugs, the repository is open to contributions!

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published