Câu trả lời:
Tôi nghĩ rằng nó sẽ là gpg. Cú pháp cho các tập tin và thư mục khác nhau mặc dù.
Đối với tệp (đầu ra filename.gpg):
gpg -c filename
Đối với thư mục:
gpg-zip -c -o file.gpg dirname
Đối với tệp (đầu ra filename.gpg):
gpg filename.gpg
Đối với thư mục:
gpg-zip -d file.gpg
Chỉnh sửa: Đã sửa như @ Mk12 chỉ ra lỗi nén / giải nén cho mã hóa / giải mã.
openssl des3 -salt -in unencrypted-data.tar -out encrypted-data.tar.des3
Giải mã:
openssl des3 -d -salt -in encrypted-data.tar.des3 -out unencrypted-data.tar
aescrypt -e -p password file.jpg
Giải mã:
aescrypt -d -p password file.jpg.aes
Đây là phương pháp của tôi bằng cách sử dụng openssl và tar
Mở thư mục được mã hóa:
openssl enc -aes-256-cbc -d -in ~/vault.tar.gz.dat | tar xz; thunar ~/vault
Khóa thư mục được mã hóa:
tar cz vault/ | openssl enc -aes-256-cbc -out ~/vault.tar.gz.dat; rm -r ~/vault
rm -r
không xóa dữ liệu; nó chỉ đơn thuần là liên kết nó. Bạn sẽ cần phải sử dụng một cái gì đó như srm
để xóa dữ liệu khỏi đĩa.
Cá nhân tôi sử dụng aescrypt
chủ yếu.
aescrypt -e "File"
và giải mã:
aescrypt -d "File"
Hoặc có mcrypt:
mcrypt "File"
và giải mã:
mcrypt -d "File"
Và đối với một thư mục, tôi khuyên bạn nên đọc thư mục và mã hóa nó. Sau đó, sau khi giải mã, chỉ cần gỡ bỏ tệp:
tar -cf "Dir.tar" Dir/
và để cởi trói
tar -xf "Dir.tar"
Nếu mức bảo mật cao nhất không phải là vấn đề lớn (trang man của zip nói, thuật toán mã hóa được sử dụng bởi các tiện ích zipfile yếu hơn PGP), thì tôi thích zip và giải nén hơn. Nó nén các thư mục của tôi và mã hóa cùng một lúc. Tôi thích zip vì bạn có thể có một loại zip và mã hóa gia tăng thay vì nén và mã hóa lại toàn bộ. Đặc biệt nó rất hữu ích khi kích thước thư mục rất lớn.
ZIP và mã hóa
zip file.zip file
zip -r directory.zip directory
zip --encrypt file.zip.enc file # prompt for password
zip --encrypt -r directory.zip.enc directory # prompt for password
Giải nén và giải mã
unzip directory.zip.enc #Beware if any directory is present with the same name as the zipped file, then it would be overwritten. Hence I normally send the contents to another directory.
unzip directory.zip.enc -d directory-new # prompts for password
Có thể không phổ biến nhưng tôi đã làm việc trong một dự án để mã hóa / giải mã mọi thứ với sự tương tác tối thiểu của người dùng thông qua việc sử dụng một vài tập lệnh Bash. Đây là một liên kết đến bài viết Hak5 giải thích thiết lập để thử nghiệm.
Việc cắt giảm các logic của mã nguồn mặc dù đây là những gì xảy ra với từng loại dữ liệu có thể được xử lý bởi dự án được liên kết ở trên
_gnupg_encrypt_opts="--always-trust --armor --batch --encrypt --recipient user@host.domain"
_bulk_output_dir="some_path"
_arbitrary_parsed_output="some_file.gpg"
## If file make encrypted time stamped file with similar name
_path_to_file="${_mapped_input}"
_path_to_output="${_bulk_output_dir}/$(date -u +%s)_${_path_to_file##*/}.gpg"
cat "${_path_to_file}" | gpg ${gpg _gnupg_encrypt_opts} > "${_path_to_output}"
## else if directory make compressed encrypted time stamped output file
_path_to_dir="${_mapped_input}"
_path_to_output="${_bulk_output_dir}/$(date -u +%s)_dir.tgz.gpg
tar -cz - "${_path_to_dir}" | gpg ${gpg _gnupg_encrypt_opts} > "${_path_to_output}"
## else if something else append encrypted output to file
_path_to_output="${_arbitrary_parsed_output}"
cat <<<"${_mapped_input}" | gpg ${gpg _gnupg_encrypt_opts} >> "${_path_to_output}"
Các ${_mapped_input}
biến được đặt bằng cách đọc một mkfifo
tập tin ống đặt tên và thiết lập bất cứ điều gì để đọc một mảng với mapfile -t _lines < "${_file_to_map}"
đó là sau đó mở rộng và lưu vào một ${_mapped_input}
... một chút phức tạp nhưng nó cho phép tính năng thử nghiệm để hoạt động trên dây chuyền cá nhân. Kết quả cuối cùng là bạn kết thúc với một thư mục chứa các tệp được mã hóa hoặc các thư mục được nén và một tệp có các gói dữ liệu được mã hóa khác nhau.
Giải mã cho các tập tin hoặc thư mục nén là đủ đơn giản trên một thiết bị có khóa riêng liên quan đến khóa chung được sử dụng để mã hóa. Nhưng việc giải mã nhiều gói dữ liệu được mã hóa áo giáp khó khăn hơn một chút, do đó, có một đoạn script có tên Paranoid_Pipes_Scenario_One.sh
trong dự án trên được viết để thực hiện tất cả với sự tương tác tối thiểu của người dùng. Dưới đây là phiên bản đơn giản của mã nguồn của trình trợ giúp cho các tệp và thư mục được mã hóa thông thường.
_gnupg_decrypt_opts="--quiet --no-tty --always-trust --passphrase-fd 9 --decrypt"
_decryption_output_dir="some_directory"
# if file
exec 9<"${_pass[@]}"
_path_to_file="${_mapped_input}"
_output_name="${_path_to_file##*/}"
_output_name="${_output_name%.gpg*}"
cat "${_path_to_file}" | gpg ${_gnupg_decrypt_opts} > "${_decryption_output_dir}/${_output_name}"
# else if compressed file
_path_to_file="${_mapped_input}"
_output_name="${_path_to_file##*/}"
_output_name="${_output_name%.tgz.gpg*}"
mkdir -p "${_decryption_output_dir}/${_output_name}"
_old_pwd="${PWD}"
cd "${_decryption_output_dir}/${_output_name}"
cat "${_path_to_file}" | gpg ${_gnupg_decrypt_opts} | tar -xzf -
cd "${_old_pwd}"
# else if non-compressed directory
_path_to_file="${_mapped_input}"
_output_name="${_path_to_file##*/}"
_output_name="${_output_name%.tar.gpg*}"
mkdir -p "${_decryption_output_dir}/${_output_name}"
_old_pwd="${PWD}"
cd "${_decryption_output_dir}/${_output_name}"
cat "${_path_to_file}" | gpg ${_gnupg_decrypt_opts} | tar -xf -
cd "${_old_pwd}"
Nếu bạn muốn xem các tính năng khác đang hoạt động và được kiểm tra theo cách có thể xác minh công khai, thì hãy xem nhật ký xây dựng Travis-CI (đặc biệt là gần cuối nhật ký) bạn sẽ thấy có một số điều thú vị khác đang được thực hiện liên quan để mã hóa và giải mã gần như mọi dữ liệu.
Nó tự tạo các phím Pad một lần
java -cp FinalCrypt.jar rdj/CLUI --encrypt --password-prompt -k My-Key-Directory/ -t My-Test-Directory/
Mật khẩu:
Bắt đầu mã hóa 4 tập tin hoàn toàn 249,7 MiB
🔒 "/home/ron/My-Test-Directory/Video/Eerebegraafplaats.mp4.bit" 🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256: "C1E3F3A3545FEA026F3FB344F3D0798B54820B7F9AD9AAC4BE9FD1E955F947DA" -> "D53FCEADDF542AC3655B547778911F786C2C2BDD327E0618A9E7F77B57792DEA" 58,4% 🔒 "/ home / ron / My-Test-Directory / Video / Castle-waxjo-sweden.mp4.bit "🗝 ✔ 🖆 ✔ 🔒 /home/ron/My-Test-Directory/Brother_HL-2170W-usaeng_quick-setup.pdf.bit" 🗝 ✔ 🖆 ✔ 🔒✔ ℄✔ 🗑✔ SHA-256: "0858D2D5A8CF118D40B517CD4A1F8D31D9F5A21221F75BD764B5E363FC1431FE" -> "266CE42027F891DECF109D7A9DD69E8B42C0E43D35E952BEB89F7C7EA2DBE92C" 95,7% 🔒 "/ home / ron / My-Test-Directory / Brother dsmobile 700d_uke_usr.pdf.bit
Mã hóa xong [4/4] tệp hoàn toàn [249,7 MiB / 249,7 MiB] trong 7,3 giây (trung bình: 34,2 MiB / s)
java -cp FinalCrypt.jar rdj/CLUI --decrypt --password-prompt -k My-Key-Directory/ -t My-Test-Directory/
Mật khẩu:
Bắt đầu giải mã 4 tập tin hoàn toàn 124,9 MiB
"' home / ron / My-Test-Directory / video / Eerebegraafplaats.mp4" 🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256: "D53FCEADDF542AC3655B547778911F786C2C2BDD327E0618A9E7F77B57792DEA" -> "C1E3F3A3545FEA026F3FB344F3D0798B54820B7F9AD9AAC4BE9FD1E955F947DA" 91,2% 🔓 "/ home / ron / My-Test -Directory / Brother dsmobile 700d_uke_usr.pdf "✔ ✔ SH🗑/home/ron/My-Test-Directory/Brother_HL-2170W-usaeng_quick-setup.pdf" 🖃 ✔ 🔓✔ ℄✔ 🗑✔ SHA-256: "266CE42027F891DECF109D7A9DD69E8B42C0E43D35E952BEB89F7C7EA2DBE92C" -> "0858D2D5A8CF118D40B517CD4A1F8D31D9F5A21221F75BD764B5E363FC1431FE" 100,0%
Đã giải mã xong các tệp [4/4] hoàn toàn [124,9 MiB / 124,9 MiB] trong 3,4 giây (trung bình: 36,3 MiB / s)
Chỉ cố gắng giúp cộng đồng ...