fr en

Chiffrer des fichiers avec GPG

Posted on 2017-08-08 in Trucs et astuces

Voici deux fonctions bash qui permettent de chiffrer et déchiffrer un fichier ou un dossier avec GPG.

Les dossiers sont compressés dans une archive ZIP avant le chiffrement.

Le chiffrement laisse les fichiers d'origine intacts. Le déchiffrement laisse le fichier chiffré intact.

Ces fonctions auront leur place dans votre .bashrc ou équivalent.

Pour chiffrer : gpgcrypt FICHIER

Pour déchiffrer : gpgdecrypt FICHIER

gpgcrypt() {
    if [[ -z "$1" ]]; then
        echo "You must supply an argument"
        return 1
    elif [[ -d "$1" ]]; then
        zip -r "$1.zip" "$1"
        gpg --output "$1.zip.gpg" --symmetric "$1.zip"
    else
        gpg --output "$1.gpg" --symmetric "$1"
    fi
}

gpgdecrypt() {
    if [[ -z "$1" ]]; then
        echo "You must supply an argument"
        return 1
    else
        gpg --output "${1%.*}" --decrypt "$1"
        if [[ "$(file --mime-type --brief "${1%.*}")" == 'application/zip' ]]; then
            unzip "${1%.*}"
        fi
    fi
}