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

#1303 in Cryptography

Download history 1/week @ 2023-12-25 1/week @ 2024-02-12 60/week @ 2024-02-19 36/week @ 2024-02-26 30/week @ 2024-03-04 89/week @ 2024-03-11 58/week @ 2024-03-18 27/week @ 2024-03-25 61/week @ 2024-04-01

240 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

~1MB
~19K SLoC