Age Encryption: Difference between revisions
Appearance
mNo edit summary |
m →Encrypt |
||
| (6 intermediate revisions by the same user not shown) | |||
| Line 6: | Line 6: | ||
== Encrypt == | == Encrypt == | ||
# tar.gz | # tar.gz | ||
tar czf - mydir | age -R ~/age-260801.pub -o mydir.tar.gz.age | tar czf - mydir | age -R ~/age-260801.pub -o mydir.tar.gz.age-260801 | ||
# tar.xz | # tar.xz | ||
tar cf - mydir | xz - | tar cf - mydir | xz -6 | age -R ~/age-260801.pub -o mydir.tar.xz.age-260801 | ||
# or raise to -9 or even -9e if size matters more than time | |||
== Encrypt with filtered file list == | |||
FILELIST=$(mktemp) | |||
trap 'rm -f "$FILELIST"' EXIT | |||
find . \ | |||
\( -path "./asdf" \ | |||
-o -path "*/.git" \ | |||
-o -path "*/node_modules" \ | |||
\) -prune -o \ | |||
-type f \ | |||
! -name ".DS_Store" \ | |||
! -name "*.pyc" \ | |||
! -name "pnpm-lock.yaml" \ | |||
-print >"$FILELIST" | |||
tar -cf - -T "$FILELIST" | xz -6 | age -R ~/age-260801.pub -o mydir.tar.xz.age-260801 | |||
== Decrypt == | == Decrypt == | ||
# tar.gz | # tar.gz | ||
age -d -i ~/age-260801.key mydir.tar.gz.age | tar xzf - | age -d -i ~/age-260801.key mydir.tar.gz.age-260801 | tar xzf - | ||
# tar.xz | # tar.xz | ||
age -d -i ~/age-260801.key mydir.tar.xz.age | xz -d | tar xf - | age -d -i ~/age-260801.key mydir.tar.xz.age-260801 | xz -d | tar xf - | ||
== Shell Functions for reuse == | |||
age_pack() { tar cf - "$1" | xz -6 | age -R ~/age-260801.pub -o "${1%/}.tar.xz.age-260801"; } | |||
age_unpack() { age -d -i ~/age-260801.key "$1" | xz -d | tar xf -; } | |||
Latest revision as of 15:10, 20 August 2026
Generate Key Pair
age-keygen -pq -o ~/age-260801.key # chmod 600 age-260801.key already included age-keygen -y ~/age-260801.key > ~/age-260801.pub
Encrypt
# tar.gz tar czf - mydir | age -R ~/age-260801.pub -o mydir.tar.gz.age-260801 # tar.xz tar cf - mydir | xz -6 | age -R ~/age-260801.pub -o mydir.tar.xz.age-260801 # or raise to -9 or even -9e if size matters more than time
Encrypt with filtered file list
FILELIST=$(mktemp) trap 'rm -f "$FILELIST"' EXIT find . \ \( -path "./asdf" \ -o -path "*/.git" \ -o -path "*/node_modules" \ \) -prune -o \ -type f \ ! -name ".DS_Store" \ ! -name "*.pyc" \ ! -name "pnpm-lock.yaml" \ -print >"$FILELIST" tar -cf - -T "$FILELIST" | xz -6 | age -R ~/age-260801.pub -o mydir.tar.xz.age-260801
Decrypt
# tar.gz age -d -i ~/age-260801.key mydir.tar.gz.age-260801 | tar xzf - # tar.xz age -d -i ~/age-260801.key mydir.tar.xz.age-260801 | xz -d | tar xf -
Shell Functions for reuse
age_pack() { tar cf - "$1" | xz -6 | age -R ~/age-260801.pub -o "${1%/}.tar.xz.age-260801"; }
age_unpack() { age -d -i ~/age-260801.key "$1" | xz -d | tar xf -; }