सभी समाधान याद करना मुश्किल या बहुत जटिल होने लगते हैं, मैं printf
का उपयोग कर पाते हैं कम से कम एक:
$ printf '%x\n' 256
100
[संपादित करें]
लेकिन जैसे टिप्पणी में बताया गया है, यह है कि क्या लेखक चाहता है नहीं है, इसलिए नीचे उचित होना पूर्ण जवाब है।
... उत्पादन वास्तविक बाइनरी डेटा स्ट्रीम करने के लिए ऊपर का उपयोग करें:
printf '%x\n' $(cat /dev/urandom | head -c 5 | od -An -vtu1)
यह क्या करता है:
- printf '% एक्स \ N' .... - का एक अनुक्रम प्रिंट पूर्णांक, यानी।
printf '%x,' 1 2 3
, प्रिंट होगा 1,2,3,
- $ (...) - यह एक तरह से कुछ शेल कमांड के उत्पादन में हो और इसे संसाधित
cat /dev/urandom
लिए है - यह यादृच्छिक बाइनरी डेटा
head -c 5
आउटपुट - 5 बाइट्स बाइनरी डेटा को सीमित करता है
od -An -vtu1
- अष्टाधारी डंप आदेश, धर्मान्तरित द्विआधारी एक testcase के रूप में दिया गया दशमलव
('एक', 61 हेक्स है 'पी' 70 हेक्स, ... है):
$ printf '%x\n' $(echo "apple" | head -c 5 | od -An -vtu1)
61
70
70
6c
65
या अलग-अलग द्विआधारी बाइट्स परीक्षण करने के लिए, पर इनपुट ('\\x%x'
प्रारूप यह होता है), होगा उत्पादन 61 दशमलव ('=' वर्ण) बाइनरी डेटा उत्पादन करने के लिए देने के आदेश ऊपर सही ढंग से 3 डी (दशमलव 61) की सुविधा देता है:
$printf '%x\n' $(echo -ne "$(printf '\\x%x' 61)" | head -c 5 | od -An -vtu1)
3d
मुझे उपयोग करना था/dev/urandom,/dev/random बस –
@ AquariusPower यादृच्छिक ब्लॉक जब उसके पास पर्याप्त यादृच्छिक डेटा नहीं है, जबकि यादृच्छिक नहीं है (आईआईआरसी इसके पास क्या है) – davka