अगर मैं कोरूटिल्स में sha3sum कमांड नहीं है, तो मैं SHA3 कैसे उत्पन्न कर सकता हूं?


18

मेरे पास sha1sumया sha512sumऔसत लिनक्स डिस्ट्रो है।

लेकिन वह sha3sumकमांड कहां है जो SHA-3 कमांड उत्पन्न कर सकती है ?


डेबियन-आधारित लिनक्स पर, यह जाहिरा तौर पर libdigest-sha3-perlपैकेज का हिस्सा है (परीक्षण नहीं किया गया)।
Kusalananda

अगर rhash हाल के पर्याप्त संस्करण में उपलब्ध है, तो जैसेrhash --sha3-256
frostschutz

जवाबों:


13

कई कार्यान्वयन हैं, जैसे मैटियास एंड्रीsha3sum या पर्ल डाइजेस्ट-एसएच 3 मॉड्यूल । डेबियन में, स्थापित करें libdigest-sha3-perl; फेडोरा में, स्थापित करें sha3sum; ये दोनों sha3sumपर्ल मॉड्यूल पर आधारित एक कमांड प्रदान करेंगे , जो आपके द्वारा उपयोग किए जाने वाले बायनेरिज़ के समान व्यवहार करता है।


डेबियन में, libdigest-sha3-perl jessie और नए में उपलब्ध है (जिसका अर्थ वर्तमान में खिंचाव और किनारा है )।
बजे एक सीवी

कोई पैकेज sha3sum उपलब्ध नहीं है।
पीपेइट

फेडोरा पर @pepite? कौन सा संस्करण?
स्टीफन किट

फेडोरा के तहत @pepite आपको perl-Digest-SHA3पैकेज rpmfind.net/linux/rpm2html/search.php?query=perl-Digest-SHA1
GAD3R

2
@ फेडोरा में जीएडी 3 आर उपयुक्त पैकेज है sha3sum(मैंने फेडोरा सिस्टम पर जांच के बाद अपना जवाब अपडेट किया था)।
स्टीफन किट

7

आप इसे करने के OpenSSLलिए उपयोग कर सकते हैं , नीचे Ubuntu 18.10 से ओपनएसएसएल 1.1.1 11 सितंबर 2018 के साथ प्रदर्शित किया गया है।

OpenSSL> help
...
Message Digest commands (see the `dgst' command for more details)
blake2b512        blake2s256        gost              md4               
md5               rmd160            sha1              sha224            
sha256            sha3-224          sha3-256          sha3-384          
sha3-512          sha384            sha512            sha512-224        
sha512-256        shake128          shake256          sm3

तो आप इसे सपोर्ट करते हुए देख सकते हैं sha3-{224,256,384,512}

किसी फ़ाइल को चेकसम करने के लिए,

openssl dgst -sha3-512 /bin/echo
SHA3-512(/bin/echo)= c9a3baaa2aa3d667a4ff475d893b3e84eb588fb46adecd0af5f3cdd735be88c62e179f98dc8275955da4ee5ef1dc7968620686c6f7f63f5b80f10e43bc1f00fc

आप के साथ एक स्ट्रिंग चेकसम कर सकते हैं

printf "foobar" | openssl dgst -sha3-512

आप आउटपुट स्वरूप भी बदल सकते हैं

  • -c अलग-अलग कॉलोन के साथ पाचन को प्रिंट करें
  • -r डाइजेस्ट को कोरुटिल्स फॉर्मेट में प्रिंट करें

4

आरएचएश एप्लिकेशन यह कर सकता है:

rhash --sha3-256 yourfile

और जानकारी: rhash -h

यह लिनक्स, बीएसडी और विंडोज पर काम करेगा



2

यदि आप मेरी तरह आलसी हैं और md5sum, sha1sum, sha256sum का उपयोग कर रहे हैं:

फ़ाइल / usr / स्थानीय / बिन / sha3256sum बनाएँ और इसे chmod + x sha3256sum के साथ निष्पादन योग्य बनाएं।

#!/bin/bash
rhash --sha3-256 $1

तब आप चला सकते हैं:

sha3256sum file

1

यदि आपने opensslस्थापित किया है तो आपके पास hashalotकमांड होनी चाहिए जो कहती है:

   Supported values for HASHTYPE:
           ripemd160 rmd160 rmd160compat sha256 sha384 sha512

आप सीधे sha384कमांड का भी उपयोग कर सकते हैं ।

OpenSSL के हाल के पर्याप्त संस्करण (1.1.1 या बाद के संस्करण) में पूर्ण SHA-3 समर्थन है, openssl helpयह दिखाएगा:

Message Digest commands (see the `dgst' command for more details)
blake2b512        blake2s256        gost              md4
md5               mdc2              rmd160            sha1
sha224            sha256            sha3-224          sha3-256
sha3-384          sha3-512          sha384            sha512
sha512-224        sha512-256        shake128          shake256
sm3

सवाल को अद्यतन करना, sha384 sha2 है। sha3 sha2 नहीं है।
pepite

हाँ, वास्तव में, मेरी गलती के लिए क्षमा करें। SHA3 ​​के लिए समर्थन opensslयोजनाबद्ध / कार्य में है: github.com/openssl/openssl/issues/439
पैट्रिक मेवज़ेक

1

लिनक्स, बीएसडी, विंडोज, मैक, .... रस्ट द्वारा समर्थित सभी प्लेटफार्मों के लिए एक अन्य विकल्प sha3sum है।

जंग उपयोगकर्ताओं के लिए: cargo install sha3sum

लिनक्स पैकेज x86_64 के लिए: ओपन बिल्ड सिस्टम

दूसरों के लिए: कुछ प्लेटफॉर्म के लिए बाइनरी

अधिक जानकारी के लिए देखें: Bitbucket


स्वागत हे! हालांकि यह एक उपयोगी उत्तर है, यह बेहतर होगा यदि आपने संकेत दिया कि आप इस विशेष sha3sumकार्यान्वयन के लेखक हैं ।
स्टीफन किट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.