2013-06-23 44 views
-1

在終端中打印二進制打包隨機數時,會生成一堆警報。爲什麼打印一個壓縮的int怪異的OS X?

程序的代碼是:

from struct import pack, unpack 
import hashlib 
import sys 

print "Input the message you want to work on:" 
message = raw_input() 
orig_hash = hashlib.sha512(message).digest() 

trialValue = 99999999999999999999 
target = 4103215547750 
nonce = 0 
while trialValue > target: 
nonce += 1 
packed_nonce = pack('>Q', nonce) 

print packed_nonce 

trialValue, = unpack('>Q',hashlib.sha512(packed_nonce + orig_hash).digest()[0:8]) 

print nonce 
print trialValue 

這不是什麼大不了的事,但沒有人知道爲什麼會這樣?

+0

您應該在此處發佈代碼 – FDinoff

+0

您可以在不指示我們觀看YouTube視頻的情況下詳細說明問題嗎? –

+0

請寫一個問題,不要打擾製作視頻。 –

回答

1

可能是因爲您打印的部分數據包含BEL(0x07)字符,從而導致終端發出嘟嘟聲。

不要打印控制字符,除非你想要終端做奇怪的事情。

+0

好的。謝謝。很確定這就是發生了什麼。我會試着過濾掉那些字符,看看會發生什麼。 – Jaxkr

+0

你應該只是過濾掉所有的控制字符(字符代碼不在'0x20'和'0x7e'之間),或者不打印原始數據。 – duskwuff

相關問題