Şifreleme ve sıkıştırma


28

Sıkıştırmak ve ardından veya tarardından gelen dosyaları şifrelemek için daha iyi bir yolu var mı ?opensslgpg


3
Bu bağlıdır. İhtiyaçların neler? "En iyiyi" nasıl ölçüyorsunuz? Hangi araçlara sahipsiniz? Bahsetmek için faydalı olabilecek başka bir seçenek düşündünüz mü?
Greg Hewgill

Başka hiç düşünmedim. Sadece birinin içeriğini okuyamadığı ve tercihen iyi bir sıkıştırma oranını koruyabildiği basit bir şifreleme olması gerekir.
user75027

1
Genellikle cevap hayır olacak. Temel unix felsefelerinden biri "bir şeyi yap ve iyi yap" tır. tar -zhafif bir istisnadır çünkü çok yaygın bir uygulamadır.
Patrick,

1
Yeni tarsürümler -J, sıkıştırma oranı genellikle daha geleneksel gzip ( -z) veya bzip2 ( -j) sıkıştırmasından daha iyi olan xz sıkıştırmasını (bayrak ) destekler .
jofel

Bunun xzmükemmel olduğunu farkettim . Çekirdeği indirdiğimi hatırlıyorum ve orijinal boyutunun yaklaşık 1 / 7'sine sıkıştırıldı. Sanırım tar cvJf out.tar.xz file1 [file2...]şifrelemek için gpg veya openssl kullanacağım. Ayrıca, xz'nin çok hızlı olduğunu da fark ettim. Bz2'den daha iyi sıkıştırmayı nasıl sağlar ve hala hızlı olur?
user75027

Yanıtlar:


24

tardosyaları paketlemek için olağan bir araçtır. Ova tarkendini sıkıştırmaz. Bir dosyayı sıkıştıran , gzip , bzip2 ve xz (tipik dosyalarda sıkıştırma oranını arttırma sırasına göre) gibi ayrı araçlar vardır . tarGNU tar (Linux'taki normal uygulama) dahil olmak üzere birçok uygulama bir seçenekle otomatik olarak sıkıştırabilir ( -zgzip -jiçin, bzip2 -Jiçin, xz için):

tar -cJf myarchive.tar.xz file1 file2 file3

Bir dosyayı şifrelemek için gpg kullanın . Bir anahtar oluşturun ve e-posta adresinizle ilişkilendirin (GPG / PGP anahtar tanımlayıcıları genellikle gerekli olmasa da bir e-posta adresi içerir). E-postanızı alıcı olarak belirterek dosyalarınızı şifreleyin. Bir dosyanın şifresini çözmek için, özel anahtarınızın kilidini açmak için parola girmeniz gerekir.

GPG ayrıca bir dosyayı şifreyle şifrelemenize izin verir. Bu daha az güvenli ve daha az esnektir. Daha az esnektir, çünkü şifrelemede şifreyi belirlemeniz gerekir (bu nedenle örneğin katılımsız yedekleme yapamazsınız). Daha az güvenlidir, çünkü sadece güvenlik paroladır, oysa anahtar tabanlı şifreleme parola ile anahtar arasında güvenliği böler.

opensslKomut satırı aracını kullanmayın . OpenSSL kütüphanesi için üretim kullanımı için tasarlanmamış bir vitrin. Bununla bazı şeyleri yapabilmenize rağmen (özellikle, temel bir sertifika yetkilisi için gerekli tüm ilkellere sahiptir), doğru şekilde kullanılması zordur ve doğru yapmak için ihtiyacınız olan her şeye sahip değildir. GPG size bisiklet verirse, OpenSSL size çeşitli ebatlarda metal çubuklar ve birkaç lastik hazne (vidalar ve pompa dahil değildir) verir. GPG'yi kullanın.


Tar'ı bir paketleyici olarak ve sıkıştırma yöntemlerini anlıyorum. Ancak, gpg anahtarları benim için yeni. Bir anahtarım olmasına rağmen, nasıl kullanılacağını tam olarak anlamadım. Bence. Sanırım benim de ssh anahtarlarım var.
user75027

Bu ben tek bir komut ile (kullanarak kompres ve şifrelemek aradığı şeyi olduğu tarve gpgbir boru).
CGFoX

12

7zip kullanabilirsiniz:

7z a -p -mhe=on stuff.7z MyStuff
   ^  ^     ^      ^        ^
   |  |     |      |        `--- Files/directories to compress & encrypt.
   |  |     |      `--- Output filename
   |  |      `--- Encrypt filenames
   |  `---- Use a password
   `---- Add files to archive

Sizden bir şifre isteyecektir. Görünüşe göre şifreleme için AES-256 ve şifrenin SHA-256'sını ve anahtar türetme için 512K kez tekrarlanan bir sayacı kullanır .

Düzenleme : Bu dosya adlarını şifrelemez, bu nedenle tarher şeyden önce her şeyi isteyebilirsiniz .

Düzenleme 2 : Eklendi -mhe=on.


5
Eğer kullanırsanız 7zasize dosya adlarını şifreleyebilirsiniz -mhe=onseçeneği.
SilverlightFox

3

Böylece 7zip şifreleme dosya adlarını da kullanabilirsiniz:

7z a -p -mhe=on stuff.7z MyStuff
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.