5 releases

0.2.1 Oct 28, 2022
0.2.0 Mar 10, 2021
0.1.3 Mar 6, 2019
0.1.1 Jan 18, 2019
0.1.0 Jan 18, 2019

#1305 in Cryptography

Download history 437/week @ 2024-11-17 529/week @ 2024-11-24 593/week @ 2024-12-01 411/week @ 2024-12-08 329/week @ 2024-12-15 98/week @ 2024-12-22 123/week @ 2024-12-29 360/week @ 2025-01-05 407/week @ 2025-01-12 360/week @ 2025-01-19 550/week @ 2025-01-26 464/week @ 2025-02-02 762/week @ 2025-02-09 762/week @ 2025-02-16 1390/week @ 2025-02-23 542/week @ 2025-03-02

3,500 downloads per month
Used in 2 crates

MIT license

17KB
261 lines

ansible-vault

[dependencies]
ansible-vault = "0.2.1"

Encrypt and decrypt Ansible Vault files

This library provides methods to encrypt and decrypt ansible vault data, in 1.1 format It exposes six methods:

  • encrypt : Encrypt the input to a string without header $ANSIBLE_VAULT;1.1;AES256 nor indentation,
  • encrypt_vault : Encrypt the input, and format like ansible (with header and indentation),
  • encrypt_vault_from_file : Encrypt the given file (wrapper for encrypt_vault)
  • decrypt : Decrypt a message string without header nor indentation
  • decrypt_vault : Decrypt a vault intput (with header and optionally indentation)
  • decrypt_vault_from file : Decrypt an ansible vault from file (wrapper for decrypt_vault)

Usage

Simple usage

use ansible_vault::{encrypt_vault, decrypt_vault};
let lipsum = "Lorem ipsum dolor…";
let encoded = encrypt_vault(lipsum.as_bytes(),"5Up€rs3creT").unwrap();
let decoded = decrypt_vault(encoded.as_bytes(), "5Up€rs3creT").unwrap();
let decoded_str = String::from_utf8(decoded).unwrap();
assert_eq!(lipsum, decoded_str);

License: MIT

Dependencies

~1.5MB
~29K SLoC