লিনাক্স কমান্ড লাইন থেকে একটি SHA-256 হ্যাশ তৈরি করা হচ্ছে


233

আমি জানি যে "foobar" স্ট্রিংটি SHA-256 হ্যাশ জেনারেট c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2করে http://hash.online-convers.com/sha256- জেনারেটর ব্যবহার করে

তবে কমান্ড লাইন শেল:

hendry@x201 ~$ echo foobar | sha256sum
aec070645fe53ee3b3763059376134f058cc337247c978add178b6ccdfb0019f  -

একটি ভিন্ন হ্যাশ উত্পন্ন। আমি কী মিস করছি?



7
@ Koppor এর < foobarমত নয় echo foobar |। সমতুল্য echo foobar |হবে sha256sum <<< foobarতবে এটি ফুবারে ঠিক নতুন লাইনের সাথে যুক্ত করে echo
এমভিডিএস

openssl dgst -sha256 foobarMacOS হাই সিয়েরাতে আমার জন্য কাজ করে, যেখানে echo -n foobar | openssl dgst -sha256একটি ভুল উত্তর দিয়েছে।
শুভ 99

উত্তর:


362

echoসাধারণত একটি নতুন লাইন আউটপুট দেয়, যা দমন করা হয় -n। এটা চেষ্টা কর:

echo -n foobar | sha256sum

76
দ্রষ্টব্য: ওএস এক্স (বিএসডি) এ, এটিecho -n foobar | shasum -a 256
ওলি

6
শুধু ব্যবহার করুন printf;)
dylnmc

11
ওএসএক্স-তে, কোনও কোনও নাম তৈরি করা সহজ হতে পারে:alias sha256sum='shasum --algorithm 256'
জোনাথন ক্রস

1
কেন এটি শেষ হয় * -
ফিলিপ রেগো

2
@ ফিলিপরেগো এটি স্টিডিনে ইনপুট দেওয়ার শামসাম, সুতরাং ফাইলের পরিবর্তে -মুদ্রিত হয়।
এমভিডিএস

100

আপনি ইনস্টল করা থাকলে openssl, আপনি ব্যবহার করতে পারেন:

echo -n "foobar" | openssl dgst -sha256

অন্যান্য আলগোরিদিম জন্য আপনি প্রতিস্থাপন করতে পারেন -sha256সঙ্গে -md4, -md5, -ripemd160, -sha, -sha1, -sha224, -sha384, -sha512বা -whirlpool


Sha512 এ আপনি যে রাউন্ডটি চান তা নির্দিষ্ট করার কোনও উপায় আছে কি? আমি তাকিয়ে দেখলাম না এবং ভাবলাম কি জানলে?
f1lt3r

1
@ অ্যালাস্টারম্যাকডোনাল্ড - আপনি ঠিক কী খুঁজছেন তা আমি জানি না। আফাইক, SHA512 এর 80 টি রাউন্ড দরকার; আপনি যদি ফাংশনটি পরিচালনা করতে চান তবে এটি আর sha512 হবে না। বিটিডাব্লু, আপনি crypto.stackexchange.com এ আপনার প্রশ্নটি অনুসন্ধান করতে / জিজ্ঞাসা করতে পারেন ।
ফারহ্মান্দ

3
গৃহীত উত্তরের মতো নয়, এটি ম্যাকওএসের পক্ষে কাজ করে।
weefwefwqg3

45

Sha256sum কমান্ডটি যদি উপলভ্য না হয় ( উদাহরণস্বরূপ Mac OS X v10.9 (ম্যাভেরিক্সে), আপনি ব্যবহার করতে পারেন:

echo -n "foobar" | shasum -a 256


1
নিস! আমি এটি আমার .bash_profile ফাংশন sha256 () cho ইকো -n "$ *" | এ যুক্ত করেছি শসুম -a 256} এবং কল করুন: ~ $ sha256 foobar
rbento

গৃহীত উত্তরের বিপরীতে, এটি ম্যাকোএসের জন্য কাজ করে
সপ্তাহের আগে উইডবিউউফিউজিজি 3

বা আপনার অর্থ উবুন্টু ১০.১০ (ম্যাভেরিক মেরক্যাট) ? (না 's', ম্যাভেরিক ) এটি ২০১০ সালে প্রকাশিত হয়েছিল যেখানে ম্যাক ওএস এক্স v10.9 এই উত্তরের এক মাস আগে প্রকাশিত হয়েছিল।
পিটার মর্টেনসেন

29

echo -nকাজ করে এবং বিশাল historicalতিহাসিক ব্যবহারের কারণে কখনও অদৃশ্য হওয়ার সম্ভাবনা নেই, তবে পসিক্স স্ট্যান্ডার্ডের সাম্প্রতিক সংস্করণ অনুসারে নতুন কনফার্মিং অ্যাপ্লিকেশনগুলি "ব্যবহার করতে উত্সাহিত করা হয়েছে printf"।


8

echoএকটি লেজযুক্ত নতুন রেখাচিত্র তৈরি করে যা খুব হ্যাশ হয়ে গেছে। চেষ্টা করুন:

/bin/echo -n foobar | sha256sum 

7

আমি বিশ্বাস করি যে echoএকটি নতুন লাইনের আউটপুট দেয়। -nনিউলাইনটি এড়িয়ে যেতে পারামিতি হিসাবে ব্যবহার করার চেষ্টা করুন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.