| AGE-PLUGIN-BATCHPASS(1) | General Commands Manual | AGE-PLUGIN-BATCHPASS(1) |
نام (NAME)
age-plugin-batchpass - افزونه رمزنگاری غیرتعاملی با عبارت عبور برای age(1)
خلاصه دستور (SYNOPSIS)
age -e -j batchpass
age -d -j batchpass
توضیحات (DESCRIPTION)
age-plugin-batchpass یک افزونه برای age(1) است که رمزگذاری و رمزگشایی غیرتعاملی بر پایه عبارت عبور (passphrase) را با استفاده از متغیرهای محیطی امکانپذیر میسازد.
هشدار (WARNING)
این قابلیت به صورت پیشفرض در CLI ابزار age تعبیه نشده است زیرا بیشتر برنامهها باید به جای اسکریپتنویسی رمزنگاری مبتنی بر عبارت عبور، از کلیدهای بومی استفاده کنند.
انسانها معمولاً در بهخاطر سپردن و ساختن عبارتهای عبور قوی ضعیف هستند. ابزار age از الگوریتم scrypt برای کاهش نسبی این مشکل استفاده میکند که ذاتاً بسیار کند است.
اگر در هر صورت قرار است رایانه کار بهخاطر سپردن را انجام دهد، میتوانید و باید به جای آن از کلیدهای بومی استفاده کنید. نیازی به مدیریت کلیدهای عمومی و خصوصی مجزا نیست؛ شما مستقیماً با کلید خصوصی رمزنگاری میکنید:
-
$ age-keygen -o key.txt $ age -e -i key.txt file.txt > file.txt.age $ age -d -i key.txt file.txt.age > file.txt
به همین ترتیب، میتوانید یک رشته هویت بومی را در یک متغیر محیطی یا از طریق سامانه مدیریت اسرار CI خود ذخیره کرده و از آن برای رمزنگاری و رمزگشایی غیرتعاملی فایلها استفاده کنید:
-
$ export AGE_SECRET=$(age-keygen) $ age -e -i <(echo "$AGE_SECRET") file.txt > file.txt.age $ age -d -i <(echo "$AGE_SECRET") file.txt.age > file.txt
همچنین ابزار خط فرمان age به صورت بومی از فایلهای هویتی محافظتشده با عبارت عبور پشتیبانی میکند، بنابراین میتوانید از این قابلیت برای رمزنگاری غیرتعاملی چند فایل استفاده کنید، به طوری که بعداً بتوانید آنها را با وارد کردن همان عبارت عبور رمزگشایی نمایید:
-
$ age-keygen -pq | age -p -o encrypted-identity.txt Public key: age1pq1cd[... 1950 more characters ...] Enter passphrase (leave empty to autogenerate a secure one): age: using autogenerated passphrase "eternal-erase-keen-suffer-fog-exclude-huge-scorpion-escape-scrub" $ age -r age1pq1cd[... 1950 more characters ...] file.txt > file.txt.age $ age -d -i encrypted-identity.txt file.txt.age > file.txt Enter passphrase for identity file "encrypted-identity.txt":
در نهایت، هنگام استفاده از این افزونه باید دقت شود که گذرواژه در تاریخچه شل ذخیره نشود یا در سیستمهای چندکاربره برای سایر کاربران فاش نگردد.
متغیرهای محیطی (ENVIRONMENT)
- AGE_PASSPHRASE
- عبارت عبور مورد استفاده برای رمزنگاری یا رمزگشایی. مانعةالجمع با AGE_PASSPHRASE_FD.
- AGE_PASSPHRASE_FD
- شماره توصیفگر فایل (file descriptor) برای خواندن عبارت عبور از آن. کاراکترهای خط جدید پایانی از محتوای فایل حذف میشوند. مانعةالجمع با AGE_PASSPHRASE.
- AGE_PASSPHRASE_WORK_FACTOR
- ضریب کار scrypt در زمان رمزگذاری. باید بین ۱ تا ۳۰ باشد. مقدار پیشفرض ۱۸ است. مقادیر بالاتر امنیت بیشتری دارند اما کندتر هستند. ابزار age از رمزگشایی فایلهای با ضریب بالای ۲۲ خودداری میکند، و این افزونه نیز همین رویه را دارد مگر آنکه AGE_PASSPHRASE_MAX_WORK_FACTOR حداقل برابر با همان مقدار تعیین شده باشد.
- AGE_PASSPHRASE_MAX_WORK_FACTOR
- حداکثر ضریب کار scrypt قابل قبول در زمان رمزگشایی. باید عددی بین ۱ تا ۳۰ باشد. مقدار پیشفرض ۲۲ است. میتواند برای اجتناب از فرایندهای بسیار طولانی رمزگشایی یا برعکس برای مجاز دانستن آنها به کار رود.
مثالها (EXAMPLES)
رمزگذاری یک فایل با عبارت عبور:
-
$ AGE_PASSPHRASE=secret age -e -j batchpass file.txt > file.txt.age
رمزگشایی یک فایل با عبارت عبور:
-
$ AGE_PASSPHRASE=secret age -d -j batchpass file.txt.age > file.txt
خواندن عبارت عبور از یک توصیفگر فایل:
-
$ AGE_PASSPHRASE_FD=3 age -e -j batchpass file.txt 3< passphrase.txt > file.txt.age
همچنین ببینید (SEE ALSO)
age(1)
نویسندگان (AUTHORS)
Filippo Valsorda age@filippo.io
| August 2026 |