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

#1200 in Cryptography

Download history 115/week @ 2024-07-28 98/week @ 2024-08-04 161/week @ 2024-08-11 100/week @ 2024-08-18 179/week @ 2024-08-25 369/week @ 2024-09-01 204/week @ 2024-09-08 317/week @ 2024-09-15 232/week @ 2024-09-22 976/week @ 2024-09-29 234/week @ 2024-10-06 180/week @ 2024-10-13 243/week @ 2024-10-20 240/week @ 2024-10-27 333/week @ 2024-11-03 391/week @ 2024-11-10

1,214 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
~20K SLoC