RHASH(1) User Manuals RHASH(1)

rhash - محاسبه یا بررسی خلاصه‌پیام‌ها و چِک‌سام‌های CRC32، MD5، SHA1، GOST، TTH، BTIH یا سایر موارد

rhash [ option ]... [ file ]...

RHash (کوتاه‌شدهٔ Recursive Hasher) خلاصه‌پیام‌ها و چِک‌سام‌های مختلف فایل‌ها را محاسبه و اعتبارسنجی می‌کند. الگوریتم‌های هش پشتیبانی‌شده شامل CRC32، CRC32C، MD4، MD5، SHA1، SHA256، SHA512، SHA3، Tiger، DC++ TTH، BTIH، AICH، ED2K، GOST R 34.11-*، RIPEMD-160، HAS-160، BLAKE2s/BLAKE2b، BLAKE3، EDON-R 256/512، Whirlpool و Snefru-128/256 هستند.

این برنامه می‌تواند پیوندهای Magnet و پیوندهای eDonkey ed2k:// را ایجاد و اعتبارسنجی کند؛ گزینه‌های --magnet و --ed2k-link را ببینید.

آرگومان خط تیره «-» به عنوان جریان ورودی استاندارد (stdin) تفسیر می‌شود.

به‌طور پیش‌فرض rhash مجموع‌ها را تنها با چک‌سام CRC32 و در قالب SFV چاپ می‌کند. این قالب را می‌توان با گزینه‌های --bsd، --magnet، --simple، --printf و --template تغییر داد. برای چاپ تمامی مجموع‌ها از گزینهٔ `-a' استفاده کنید.

حالت پیش‌فرض، چاپ چِک‌سام‌ها برای تمامی فایل‌ها و درخت‌های دایرکتوری مشخص‌شده در خط فرمان است. این حالت را می‌توان با گزینه‌های زیر تغییر داد.

بررسی فایل‌های هش مشخص‌شده در خط فرمان. RHash می‌تواند فایل‌های هش در قالب‌های SFV و BSD، قالب فایل‌های MD5 و SHA1، و فایل‌های متنی حاوی پیوندهای magnet یا ed2k (یک پیوند در هر خط) را اعتبارسنجی کند. خطوط خالی و خطوطی که با «;» یا «#» آغاز می‌شوند نادیده گرفته می‌شوند.

برنامهٔ RHash می‌تواند فایل‌های هشی را که بدون گزینه‌های قالب‌بندی --printf و --template تولید شده‌اند اعتبارسنجی کند.

اگر الگوریتم هش توسط گزینه‌های خط فرمان مشخص نشده باشد، RHash تلاش می‌کند الگوریتم را از روی پسوند فایل هش تشخیص دهد. اگر تشخیص ناموفق باشد، تمام توابع هشی که طول هش یکسانی دارند محاسبه می‌شوند که این امر سرعت اعتبارسنجی فایل‌ها را به شدت کاهش می‌دهد. در چنین حالتی، برای افزایش سرعت اعتبارسنجی، الگوریتم هش را به‌طور صریح در خط فرمان مشخص کنید.

به‌روزرسانی فایل هش مشخص‌شده از طریق محاسبهٔ خلاصه‌پیام‌ها برای فایل‌های فهرست‌شده در آرگومان‌های فرمان که در آن موجود نیستند. خلاصه‌های جدید در قالبی که توسط گزینه‌های قالب‌بندی مشخص شده به انتهای فایل اضافه می‌شوند.

همراه با --recursive، فایل هش را با استفاده از فایل‌های کل درخت‌های دایرکتوری به‌روزرسانی می‌کند. همراه با --check، خلاصه‌های موجود را پیش از به‌روزرسانی اعتبارسنجی می‌کند.

فهرست کردن فایل‌هایی از فایل هش که در سیستم‌فایل مفقود یا غیرقابل دسترسی هستند.
فهرست کردن فایل‌های خط فرمان که در فایل هش داده‌شده وجود ندارند (فایل‌های اعتبارسنجی‌نشده). همراه با --recursive، کل درخت‌های دایرکتوری را برای یافتن فایل‌های اعتبارسنجی‌نشده بررسی می‌کند.
اعتبارسنجی فایل‌ها بر اساس مجموع crc32 تعبیه‌شده در نام آن‌ها.
ایجاد یک فایل تورنت برای هر فایل پردازش‌شده.
راهنما: نمایش صفحهٔ راهنما و خروج.
نسخه: نمایش نسخه و خروج.
اجرای بنچ‌مارک (سنجش کارایی) برای الگوریتم(های) هش انتخاب‌شده.

CRC32: انتخاب الگوریتم چِک‌سام CRC32.
CRC32C: انتخاب الگوریتم چِک‌سام CRC32C.
MD4: انتخاب تابع هش MD4.
MD5: انتخاب تابع هش MD5.
SHA1: انتخاب تابع هش SHA1.
انتخاب تابع هش مشخص‌شده از خانوادهٔ SHA2.
انتخاب تابع هش مشخص‌شده از خانوادهٔ SHA3.
Tiger: انتخاب تابع هش Tiger.
TTH: انتخاب تابع هش DC++ TTH.
BTIH: انتخاب هش اطلاعات بیت‌تورنت (BitTorrent Info Hash).
AICH: انتخاب تابع هش AICH.
ED2K: انتخاب تابع هش eDonkey 2000.
Whirlpool: انتخاب تابع هش Whirlpool.
GOST-2012: انتخاب تابع هش ۲۵۶ بیتی GOST R 34.11-2012، استاندارد هش روسی GOST.
GOST-2012: انتخاب تابع هش ۵۱۲ بیتی GOST R 34.11-2012، استاندارد هش روسی GOST.
GOST-94: انتخاب GOST R 34.11-94، تابع هش منسوخ‌شدهٔ روسی.
--gost94-cryptopro
GOST-94-CRYPTOPRO: انتخاب نسخهٔ CryptoPro از تابع هش منسوخ‌شدهٔ روسی GOST R 34.11-94.
RIPEMD-160: انتخاب تابع هش RIPEMD-160.
HAS-160: انتخاب تابع هش HAS-160.
SNEFRU: انتخاب تابع هش SNEFRU-128/256.
EDON-R: انتخاب تابع هش EDON-R 256/512.
BLAKE2: انتخاب تابع هش BLAKE2b/BLAKE2s.
BLAKE3: انتخاب تابع هش BLAKE3.
محاسبهٔ تمامی توابع هش پشتیبانی‌شده.
فهرست کردن نام‌های تمامی توابع هش پشتیبانی‌شده، یک مورد در هر خط..SH "گزینه‌های متفرقه (MISCELLANEOUS OPTIONS)"
پردازش بازگشتی دایرکتوری‌های مشخص‌شده در خط فرمان.
دنبال کردن پیوندهای نمادین هنگام پردازش بازگشتی فایل‌ها یا دایرکتوری‌ها.
محاسبه چکیده‌پیام‌های (message digests) پیام متنی داده‌شده.
پردازش فایل داده‌شده به عنوان فهرست فایل. خطوط این فایل به عنوان مسیر فایل‌هایی که باید پردازش شوند تفسیر می‌شوند. چندین فهرست فایل را می‌توان در خط فرمان مشخص کرد.
نمایش اطلاعات با جزئیات بیشتر (حالت پرگو).
چاپ شکل خلاصه گزارش اعتبارسنجی (بدون سربرگ و پانویس)، هنگام اعتبارسنجی یک فایل هش.
نمایش درصدها، هنگام محاسبه یا بررسی مجموع‌ها.
عدم چاپ پیام‌های OK برای فایل‌هایی که با موفقیت اعتبارسنجی شده‌اند.
نادیده گرفتن فایل‌های مفقود، هنگام اعتبارسنجی یک فایل هش.
نادیده گرفتن بزرگی و کوچکی حروف نام‌فایل‌ها هنگام به‌روزرسانی فایل‌های crc.
چاپ سرعت پردازش به تفکیک هر فایل و سرعت کلی.
تغییر نام فایل‌ها با درج مقدار مجموع crc32 درون نام آن‌ها.
درج <delimiter> مشخص‌شده پیش از مقدار مجموع crc در حالت --embed-crc؛ پیش‌فرض نویسه فاصله (white space) است. <delimiter> می‌تواند یک نویسه یا رشته خالی باشد.
استفاده از جداکننده مسیر مشخص‌شده برای نمایش مسیرها. تنها مقادیر اسلش (`/') و بک‌اسلش (`\') پذیرفته می‌شوند.
تنظیم فهرستی جداشده با کاما‐ از پسوند فایل‌ها برای پردازش.
تنظیم فهرستی جداشده با کاما‐ از پسوند فایل‌ها جهت مستثنی کردن از پردازش.
تنظیم فهرستی جداشده با کاما‐ از پسوند فایل‌های هش جهت اعتبارسنجی.
پیمایش حداکثر تا <levels> (یک عدد صحیح غیر‐منفی) سطح از دایرکتوری‌های زیر آرگومان‌های خط فرمان. `--max-depth 0' بدان معناست که آزمایش‌ها و اقدامات تنها روی آرگومان‌های خط فرمان اعمال شوند.
تنظیم فایل خروجی برای ذخیره چکیده‌پیام‌های محاسبه‌شده یا نتایج اعتبارسنجی در آن.
تنظیم فایل لاگ برای ثبت خطاها و اطلاعات مشروح.
مشخص کردن اینکه کدام توابع هش باید با استفاده از کتابخانه OpenSSL محاسبه شوند. مقدار <list> فهرستی جداشده با کاما از نام توابع هش است، اما تنها مواردی که توسط openssl پشتیبانی می‌شوند مجاز هستند: md4، md5، sha1، sha2*، ripemd160 و whirlpool.
معکوس کردن بایت‌ها در خروجی شانزده‌شانزدهی (hexadecimal) توابع هش GOST. باارزش‌ترین بایت چکیده‌پیام در ابتدا چاپ خواهد شد. ترتیب پیش‌فرض، کم‌ارزش‌ترین بایت در ابتدا است.
فعال کردن حالت دسته‌ای تورنت (حالت تورنت را نیز در بر دارد). محاسبه تورنت دسته‌ای (batch-torrent) برای فایل‌های مشخص‌شده در خط فرمان و ذخیره فایل تورنت در file-path. گزینه -r <directory> در این حالت می‌تواند مفید باشد.
تولید فایل تورنت یا BTIH برای یک ردیاب (تراکر) خصوصی BitTorrent.
تولید فایل تورنت یا BTIH سازگار با کلاینت تورنت Transmission.
تنظیم مقدار piece length برای فایل تورنت.
افزودن نشانی announce ردیاب به فایل(های) تورنت ایجادشده. چندین نشانی را می‌توان با تعیین مکرر این گزینه اضافه کرد. این گزینه چکیده‌پیام BTIH را تغییر نمی‌دهد.
تغییر قالب خروجی بنچمارک به صورت یک متن ماشین‐خوان و جداشده با تب‐ شامل نام تابع هش، سرعت، و چرخه‌های پردازنده به ازای هر بایت. این گزینه تنها در صورتی کار می‌کند که گزینه --benchmark مشخص شده باشد.
عدم تشخیص تابع هش از روی پسوند فایل هش، در حالت --check.
غیرفعال کردن نویسه‌های گریز (escape) در مسیر فایل‌ها. این گزینه می‌تواند در حالت‌های پیش‌فرض، check یا update مشخص شود.
-- (double dash)
مشخص کردن پایان گزینه‌های خط فرمان. تمام پارامترهای پس از دو خط تیره به عنوان فایل یا دایرکتوری تفسیر می‌شوند. این گزینه معمولاً برای پردازش نام‌فایل‌هایی که با یک خط تیره `-' شروع می‌شوند به کار می‌رود. به عنوان جایگزین می‌توانید './' یا مسیر کامل را پیش از چنین فایل‌هایی مشخص کنید تا دیگر مانند گزینه به نظر نرسند.

چاپ چکیده‌پیام‌ها در قالب خروجی SFV (بررسی ساده فایل یا Simple File Verification) (پیش‌فرض). اما برخلاف فایل معمول SFV، نه‌تنها CRC32، بلکه هر چکیده‌پیام مشخص‌شده توسط گزینه‌ها را می‌توان چاپ کرد.
چاپ چکیده‌پیام‌ها در قالب پیوندهای مگنت (magnet links).
استفاده از قالب خروجی BSD. هر چکیده‌پیام در یک خط جداگانه پس از نام تابع هش و مسیر فایل، محصور در پرانتز چاپ می‌شود.
استفاده از قالب خروجی ساده. هر خط شامل نام‌فایل و چکیده‌پیام‌های مشخص‌شده توسط گزینه‌ها خواهد بود.
چاپ یک چکیده‌پیام در هر خط بدون اطلاعات اضافی فایل.
چاپ پیوند eDonkey شامل نام فایل، اندازه فایل، و چکیده‌پیام‌های ED2K و AICH.
چاپ چکیده‌پیام‌ها در قالب شانزده‌شانزدهی (hexadecimal).
چاپ چکیده‌پیام‌ها در قالب Base32.
چاپ چکیده‌پیام‌ها در قالب Base64.
چاپ چکیده‌پیام‌ها با حروف بزرگ.
چاپ چکیده‌پیام‌ها با حروف کوچک.
خواندن الگوی شبه‐printf از <file> داده‌شده. گزینه --printf را ببینید.
قالب‌بندی: چاپ رشته format در خروجی استاندارد، با تفسیر گریزهای `\' و دستورهای `%'. گریزها و دستورها عبارتند از:
خط جدید.
بازگشت به ابتدای سطر (Carriage return).
تب افقی (Horizontal tab).
\\
یک بک‌اسلش لفظی (`\').
\0
نویسه ASCII NUL.
نویسه‌ای که کد اسکی آن در مبنای هشت NNN است.
نویسه‌ای که کد اسکی آن در مبنای شانزده NN است.

یک نویسه `\' که پس از آن هر نویسه دیگری بیاید، مانند یک نویسه معمولی در نظر گرفته می‌شود و هر دو چاپ خواهند شد.

%%
یک علامت درصد لفظی.
%p
مسیر فایل.
%f
نام فایل.
%d
دایرکتوری فایل.
%u or %U
پیشوندی که برای چاپ نام فایل، مسیر فایل یا چکیده‌پیام خام/base64 به صورت یک رشته کدگذاری‌شده برای نشانی وب (URL‐encoded) استفاده می‌شود. برای مثال: `%up'، `%ud'، `%uf'، `%uBm'، `%u@h'. از %u برای نویسه‌های شانزده‌شانزدهی کوچک و از %U برای بزرگ استفاده کنید.
%s
اندازه فایل به بایت.
%{mtime}
زمان آخرین تغییر فایل.
%a or %A
چکیده‌پیام AICH.
%c or %C
مجموع مقابله‌ای CRC32. برای نویسه‌های کوچک از %c و برای نویسه‌های بزرگ از %C استفاده کنید.
%g or %G
چکیده‌پیام ۲۵۶ بیتی GOST R 34.11-2012.
%h or %H
چکیده‌پیام SHA1.
%e or %E
چکیده‌پیام ED2K.
%l or %L
پیوند ed2k://... در EDonkey.
%m or %M
چکیده‌پیام MD5.
%r or %R
چکیده‌پیام RIPEMD-160.
%t or %T
چکیده‌پیام TTH.
%w or %W
چکیده‌پیام Whirlpool.
%{crc32}, %{crc32c}, %{md4}, %{md5}, %{sha1}, %{tiger}, %{tth}, %{btih}, %{ed2k}, %{aich}, %{whirlpool}, %{ripemd160}, %{has160}, %{gost94}, %{gost94-cryptopro}, %{gost12-256}, %{gost12-512}, %{sha-224}, %{sha-256}, %{sha-384}, %{sha-512}, %{sha3-224}, %{sha3-256}, %{sha3-384}, %{sha3-512}, %{edon-r256}, %{edon-r512}, %{blake2s}, %{blake2b}, %{blake3}, %{snefru128}, %{snefru256}
چاپ چکیده‌پیام مشخص‌شده. اگر نام تابع هش با یک حرف بزرگ آغاز شود، به صورت حروف بزرگ چاپ می‌شود؛ مانند %{TTH}، %{Sha-512}.
%x<hash>, %b<hash>, %B<hash>, %@<hash>
استفاده از یکی از این پیشوندها به ترتیب برای چاپ چکیده‌پیام در قالب شانزده‌شانزدهی، base32، base64 یا خام (دودویی)؛ مانند %b{md4}، %BH یا %xT.

قالب خروجی پیش‌فرض همچنین می‌تواند با تغییر نام برنامه یا ایجاد یک پیوند سخت/پیوند نمادین به آن با نام‌فایلی شامل رشته‌های `crc32'، `crc32c'، `md4'، `md5'، `sha1'، `sha224'، `sha256'، `sha384'، `sha512'، `sha3-256'، `sha3-512'، `sha3-224'، `sha3-384'، `tiger'، `tth'، `btih'، `aich'، `ed2k'، `ed2k-link'، `gost12-256'، `gost12-512'، `gost94'، `gost94-cryptopro'، `rmd160'، `has160'، `whirlpool'، `edonr256'، `edonr512'، `blake2s'، `blake2b'، `blake3'، `snefru128'، `snefru256'، `sfv'، `bsd' یا `magnet' تغییر داده شود..SH "فایل پیکربندی (CONFIG FILE)" برنامه RHash به دنبال یک فایل پیکربندی در $XDG_CONFIG_HOME/rhash/rhashrc، $HOME/.config/rhash/rhashrc، $XDG_CONFIG_DIRS/rhash/rhashrc، $HOME/.rhashrc و /etc می‌گردد.

فایل پیکربندی از خطوطی با قالب زیر تشکیل شده است:

variable = value

که در آن variable می‌تواند نام هر یک از گزینه‌های خط فرمان باشد، مانند magnet، printf، percents و غیره. یک متغیر بولی می‌تواند با مقدار “on”،‏ “yes” یا “true” روی true تنظیم شود، هر مقدار دیگری متغیر را روی false تنظیم می‌کند.

خطوط خالی و خطوطی که با “#” یا “;” آغاز می‌شوند نادیده گرفته می‌شوند.

نمونه فایل پیکربندی:

# این یک خط توضیح است
percents = on
crc-accept = .sfv,.md5,.sha1,.sha256,.sha512,.tth,.magnet

Aleksey Kravchenko <rhash.admin@gmail.com>

md5sum(1) cksfv(1) ed2k_hash(1)

از ارسال گزارش باگ‌ها استقبال می‌شود! آن‌ها را در صفحهٔ مسائل GitHub ثبت کنید: https://github.com/rhash/RHash/issues

APR 2010 Linux