بله. برای پسوردهای طولانی فکر کنم خیلی خیلی طول بکشه. پس نتیجهٔ اخلاقی اینکه پسوردهای کوتاه یا آسون برای خودتون انتخاب نکنید!
به هر ممنون از معرفی برنامه.
راستی شما چطوری روی آرشیوهای rar و zip و 7z پسورد میذارید؟ با winrar ؟
ولی من یه راه دیگه هم بهتون پیشنهاد میکنم. با دستور gpg پسورد بذارید. اگه هم پوشه بود tar ش کنید(تا تبدیل به فایل بشه) بعد با دستور gpg پسورد بذارید که خودش فشرده هم میکنه(پس نیازی نیست که اولش مثلا tar.gz کنید، که اگه حجمش زیاد باشه طول میکشه، همینطور باز کردنش)
برای پسورد گذاشتم با دستور gpg هم:
gpg -c Private.tar
یه فایل به نام Private.tar.gpg کنارش به وجود میاد که encrypt اون آرشیو هست(و البته فشرده هم شده). البته پوشهٔ اصلی و آرشیو اصلی سر جای خودش هست(اگه شخصی هست مجبورید اولی رو دیلیتش کنید)
و برای باز کردنش هم:
gpg -d -o Private.tar Private.tar.gpg
اگه هم میخواید بصورت گرافیکی انجام بدید(نه توی ترمینال)، من دو تا اسکریپت نوشتم برای این کار. که چون نمیذاره پیوست کنم(!) همینجا مینویسم. این اسکریپت encrypt
#!/bin/bash
## encrypt
AskPwMode='gksu' ## using gksu
#AskPwMode='gpg' ## interactive gpg
#AskPwMode='zenity' ## visible and not safe
InputFile="$1"
DelInputFile=false
if [ ! -e "$InputFile" ] ; then
zenity --error --text "No such file/direcory: $InputFile"
exit 1
fi
if [ -d "$InputFile" ] ; then
tar -cf "$InputFile.tar" "$InputFile"
if [ "$?" = 0 ] ; then
InputFile="$InputFile.tar"
DelInputFile=true
else
zenity --error --text "Could not create tar from directory: $InputFile"
exit 1
fi
fi
if [ "$AskPwMode" = "gpg" ] ; then
gpg -c "$InputFile"
else
if [ "$AskPwMode" = "gksu" ] ; then
PW1=`gksu -p -m "Enter passwoed to set for file 'InputFile'"`
PW2=`gksu -p -m "Reenter passwoed"`
elif [ "$AskPwMode" = "zenity" ] ; then
PW1=`zenity --title "encrypt file" --entry --text "Enter passwoed to set for file 'InputFile'" --entry-text ""`
PW2=`zenity --title "encrypt file" --entry --text "Reenter passwoed" --entry-text ""`
else
exit 1
fi
if [ "$PW1" = "$PW2" ] ; then
gpg --passphrase "$PW1" --batch -c "$InputFile"
if "$DelInputFile" ; then
rm "$InputFile"
fi
else
zenity --error --text "Two passwords do not match!"
fi
fi
اینم اسکریپت decript
#!/bin/bash
## decript
AskPwMode='gksu' ## using gksu
#AskPwMode='gpg' ## interactive gpg.
#AskPwMode='zenity' ## visible and not safe
if [ "$AskPwMode" = "gpg" ] ; then
gpg -d -o "${1}.dec" "$1"
else
if [ "$AskPwMode" = "gksu" ] ; then
PW=`gksu -p -m "Enter passwoed to decrypt file '$1'"`
elif [ "$AskPwMode" = "zenity" ] ; then
PW=`zenity --title "decrypt file" --entry --text "Enter passwoed to decrypt file '$1'" --entry-text ""`
else
exit 1
fi
Name="${1%.*}"
Name=`zenity --title "decrypt file" --entry --text "Enter decrypt file name:" --entry-text "$Name"`
while [ -f "$Name" ] ; do
Name=`zenity --title "decrypt file" --entry --text "File $Name exists. Please change it:" --entry-text "$Name"`
done
out=`gpg --passphrase "$PW" --batch -o "$Name" -d "$1"`
if [ "$out" != '' ] ; then
zenity --info --text "$out"
fi
fi
توی فایل ذخیره کنید. بهش مجوز اجرا بدید. بعد اگه از گنوم استفاده میکنید، توی پوشهٔ
~/.gnome2/nautilus-scripts
کپی کنید، تا بعد از reset کردن ناتیلوس، به راست-کلیک توی منوی Scripts اضافه بشه.
اگه هم از KDE استفاده میکنید میتونید اون فایل رو Open with کنید با این اسکریپتها. البته برای رمزگشایی از برنامه KGPG هم میشه استفاده کرد، که اگه فایل پسوند gpg داشته باشه، خودش با دبل-کلیک پسورد میپرسه.
اگه روی یه پوشه راست-کلیک کنید و از منوی Scripts گزینهٔ encript رو انتخاب کنید(توی گنوم) خودش پوشه رو تبدیل به tar میکنه بعد دوبار پسورد میپرسه و یه فایل tar.gpg درست میکنه که رمزشدهٔ اون پوشه هست. بعدش میتونید اون پوشهٔ اصلی رو دیلیت کنید.
حداقل مزیت این روش بر استفاده از winrar اینه که با فایلهای که اسم فارسی دارن مشکلی نداره. در ضمن فکر میکنم کرک کردن پسوردش هم سختتر باشه(تازه ویندوزیها هم معمولاً این gpg رو نمیشناسن). حالا آزاد نبودن winrar به کنار!