একটি ফাইলের sha256 হ্যাশ চেক করতে একটি ক্লাইটের প্রয়োজন


127

কোনও ফাইলের sha1 যাচাই করার জন্য আমি ফাইলের openssl sha1 <file>sha256 হ্যাশ যাচাই করতে ব্যবহার করব তা নিশ্চিত নই, তবে আপনি কী প্রস্তাব করবেন?

উত্তর:


156

তুমি ব্যবহার করতে পার

openssl dgst -sha256 <file>

ম্যাকস 10.14 (মোজাভে) -তে লিবারসএসএল 2.6.4 এ পরীক্ষিত।


মোজাবের আগে আপনি ব্যবহার করতে পারেন openssl sha -sha256 <file>বা openssl sha256 <file>

পরীক্ষা করার জন্য OpenSSL Sha কমান্ডের জন্য কমান্ড লাইন বিকল্পগুলি: openssl sha -help


এটিও বহনযোগ্য এবং উবুন্টুতে চালিত।
খ্রিস্টান বনজিওর্নো

86

শসুম কমান্ড সহ ওএস এক্স শিপস

> which shasum
/usr/bin/shasum

তুমি ব্যবহার করতে পার:

> shasum -a 256 <file>

আরো বিস্তারিত:

> shasum --help
Usage: shasum [OPTION]... [FILE]...
Print or check SHA checksums.
With no FILE, or when FILE is -, read standard input.

  -a, --algorithm   1 (default), 224, 256, 384, 512, 512224, 512256
  -b, --binary      read in binary mode
  -c, --check       read SHA sums from the FILEs and check them
  -t, --text        read in text mode (default)
  -p, --portable    read in portable mode
                        produces same digest on Windows/Unix/Mac
  -0, --01          read in BITS mode
                        ASCII '0' interpreted as 0-bit,
                        ASCII '1' interpreted as 1-bit,
                        all other characters ignored

The following two options are useful only when verifying checksums:
  -s, --status      don't output anything, status code shows success
  -w, --warn        warn about improperly formatted checksum lines

  -h, --help        display this help and exit
  -v, --version     output version information and exit

When verifying SHA-512/224 or SHA-512/256 checksums, indicate the
algorithm explicitly using the -a option, e.g.

  shasum -a 512224 -c checksumfile

The sums are computed as described in FIPS-180-4.  When checking, the
input should be a former output of this program.  The default mode is to
print a line with checksum, a character indicating type (`*' for binary,
` ' for text, `?' for portable, `^' for BITS), and name for each FILE.

Report shasum bugs to mshelor@cpan.org

হুম আমি ওএসএস 10.11.3 এ পেয়েছি বলে মনে হয় না। which shashumআউটপুট কিছুই নেই
এরিকভোল্ড

3
আপনি কি জানেন? আমি বাজি ধরলাম আমি এক্সকোড কমান্ড লাইন সরঞ্জাম পেয়েছি। আহা। আমি সত্যিই আশা করি Appleচ্ছিক /usr/binস্টাফ দিয়ে অ্যাপল দূষিত না হয় । আমি আজ এটি পরে বিষয়টি যাচাই করতে হবে। এটি যদি এক্সসিএল ইনস্টল থেকে আসে তবে উত্তরটি আপডেট করবে।
আয়ান সি

2
shasumopenssl sha -sha256 <file>(পরেরটি সঠিক হ্যাশযুক্ত) এর চেয়ে আলাদা একটি হ্যাশ প্রদান করে। কোন ধারণা কেন?
ws6079

@ ws6079 shasumএকটি পার্ল স্ক্রিপ্ট, Digest::SHAহ্যাশ মান গণনা করতে ব্যবহার করে। একই ফাইলের জন্য আমি হ্যাশ গণনার জন্য shasumবা হ্যাশ গণনার opensslজন্য হুবহু এসএইচএ পাই SHA-256। দেখুন: gist.github.com/ianchesal/82a064b8971eb5e717ce84f3ded6dbfd
আয়ান সি

শাহসুম আজ আমার জন্য দুর্দান্ত কাজ করছে।
nycynik

7

shasumকমান্ড এখন কিছুদিনের জন্য সঙ্গে ওএসএক্স জাহাজ। বিকল্পটি ব্যবহার করার openssl sha -sha256সময় এটি একই ফলাফল দেবে ।shasum-a 256


6

@ জন এর দরকারী উত্তরটি পরিষ্কার করতে - যা আপনাকে একটি হ্যাশকে তার ফাইলের সাথে একটি কমান্ডের সাথে তুলনা করতে দেয়:

প্রবেশ করুন shasum -a 256 -c <<<, তার
পরে একটি alচ্ছিক স্থান, তার
পরে একটি একক টিক ( '), এর
পরে তুলনা করার জন্য হ্যাশ,
একটি স্থান এবং
তারপরে একটি মোড অক্ষর, প্রাথমিক হ্যাশ কীভাবে উত্পন্ন হয়েছিল তার উপর ভিত্তি করে:

  • কিছুই নয় , যদি হ্যাশটি তৈরি করা হয়েছিল -tবা কোনও বিকল্প নেই (পাঠ্য মোড, যা ডিফল্ট)

  • তারকাচিহ্ন ( *), যদি হ্যাশটি -b(বাইনারি মোড) দিয়ে তৈরি করা হয়েছিল

  • প্রশ্ন চিহ্ন ( ?), যদি -p(পোর্টেবল মোড) দিয়ে হ্যাশ তৈরি করা হয়েছিল

  • ক্যারেট ( ^), যদি হ্যাশটি -0(বিটস মোড) দিয়ে তৈরি করা হয়েছিল

ফাইলের পথ
অনুসরণ করে একটি ক্লোজাল সিঙ্গল টিক ( ') পরে (

নীচের ব্রেকডাউনটির মতো, হ্যাশ এবং ফাইলপথ অংশগুলির চারপাশে বর্ণিত প্যারেনস এবং alচ্ছিক "মোড চরিত্র" অংশের চারপাশে বর্গাকার বন্ধনীগুলি। ( বাস্তব জীবনে প্যারেন্স বা বন্ধনী অন্তর্ভুক্ত করবেন না - অংশগুলি দেখতে সহজেই সহজ করতে তারা এখানে এসেছে! )

shasum -a 256 -c <<< '(hashToCompare) [mode character](filepath)'

ভেঙে গেছে :

আসল শসুম কমান্ডটি হ'লshasum -a 256 -c

  • -a 256sha256shasum ব্যবহার করতে বলে ।

  • -cshasumসরবরাহ করা ইনপুট "পরীক্ষা" করতে বলে ।

<<<একটি ইউনিক্স / লিনাক্স বিশেষ অক্ষর সেট, একটি "ফেরৎ" অপারেটর বলা হয়। এটি পূর্বের আদেশে কিছু খাওয়ানোর জন্য। এটি ব্যবহার করে, আমরা বলছি আমরা shasumইনপুট হিসাবে ব্যবহার করার জন্য কমান্ডের জন্য তথ্য স্ট্রিং সরবরাহ করতে যাচ্ছি ।

ইনপুট তথ্যের স্ট্রিংটিতে অবশ্যই একক টিকগুলি খোলার এবং বন্ধ করতে হবে যেমন 'some string here'এই ক্ষেত্রে, হ্যাশ, মোড অক্ষর এবং ফাইলপথটি পরীক্ষা করতে হবে।

  • হ্যাশ স্ট্রিং ভিতরে অংশ বিশেষ কিছু দরকার নেই - কিন্তু এটি একটি স্থান দ্বারা অনুসরণ করা আবশ্যক।

  • মোড চরিত্র অংশ কিছুই, তারা চিহ্ন (হতে পারে *), একটি প্রশ্নবোধক চিহ্ন ( ?), অথবা ক্যারেট ( ^)। এটি shasumসেই মোডটিকে জানায় যা দিয়ে হ্যাশ তৈরি হয়েছিল। (দ্রষ্টব্য: কোনও পাঠ্য মোডের প্রতিনিধিত্বকারী কোনও অক্ষরই shasumএর ডিফল্ট নয়))

  • Filepath অংশ, ফাইলে প্রকৃত পথ চেক করা হয়।


সুতরাং, এখানে SHA-256 মানটির পূর্বনির্ধারিত কোনও নির্দিষ্ট এমএএমপি ডাউনলোড ফাইল চেক করা একটি বাস্তব জীবনের উদাহরণ । মোড চরিত্র কাজের এই চেক জন্য প্রয়োজন ছিল:*

shasum -a 256 -c <<< 'f05ede012b8a5d0e7c9cf17fee0fa1eb5cd8131f3c703ed14ea347f25be11a28 *MAMP_MAMP_PRO_5.2.pkg'

দ্রষ্টব্য: এই আদেশের ফলাফল (আমার উদাহরণ ফাইলের জন্য) হয় -

ঠিক আছে:

MAMP_MAMP_PRO_5.2.pkg: ঠিক আছে

অথবা

ব্যর্থ হয়েছে:

MAMP_MAMP_PRO_5.2.pkg: ব্যর্থ শসুম:
সতর্কতা: 1 টি গণিত চেকসাম মেলে নি


আমার জন্য এটি ফাইলের নামের আগে asterisk ছাড়াই কাজ করে (পাশাপাশি asterisk সহ)।
পিটার ডব্লিউ

shasum -c <<< '7cb77378a0749f2a9b7e09ea62ffb13febf3759f *sample.txt'বার্তা দেয় *sample.txt: FAILED open or read। তারকাচিহ্ন ছাড়াই sample.txt: OK,। আমি এখনও অন্য কোথাও তারকাচিহ্নের ব্যবহারের ভিত্তি খুঁজে পাইনি। আপনি কি স্পষ্ট করতে পারেন?
সোমবার

নক্ষত্রের উপস্থিতি কি ইঙ্গিত দেয় যে উদাহরণে ইনপুট হিসাবে ব্যবহৃত চেকসাম বাইনারি মোডে তৈরি হয়েছিল ( --binaryবিকল্প সহ)? মানুষ পাতা থেকে। "যখন পরীক্ষণ, ইনপুট এই প্রোগ্রাম সাবেক আউটপুট হওয়া উচিত ডিফল্ট মোড চেকসাম সঙ্গে একটি লাইন প্রিন্ট করতে, একটি চরিত্র প্রকার ইঙ্গিত ( *বাইনারি জন্য,` পাঠ্যের জন্য, Uসর্বজনীন জন্য, ^BITS টি জন্য, ?পোর্টেবলের জন্য), এবং প্রতিটি ফাইলের নাম দিন। " সুতরাং, চেকসাম এবং ফাইলনামের মধ্যে অক্ষরগুলি মোড সেটটির উপর নির্ভর করে যখন চেকসামটি তৈরি করা হয়েছিল?
SoFarther

@ সোফার্থার: হ্যাঁ, আপনি ঠিক বলেছেন। এই ধারণাটি প্রমাণ করার জন্য কিছু পরীক্ষার পরে, আমি "মোড" দিকটি স্পষ্ট করতে আমার পোস্ট আপডেট করেছি post
লিনে

6

আমি এই কমান্ডটি ব্যবহার করব।

shasum -a 256 -c <<<'_paste hash to compare here_ *_path to file goes here_'

উদাহরণ:

shasum -a 256 -c <<< '0d2ea6de4f2cbd960abb6a6e020bf6637423c07242512596691960fcfae67206 */Users/USERNAME/Downloads/someprogram.dmg'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.