2016-04-12 41 views
0

Çatışmamı tanımlamak için elimden gelenin en iyisini yapacağım.SHA-256 Farklılık Sonuçları

Giriş dosyasına girecek ve üzerinde SHA-256 hash gerçekleştirecek bir python komut dosyası yazıyorum. Ben çiğ ikili görüntüyü alıp (benim mac: 256 somefile.bin -a shasum) komut istemini çalıştırın Eğer

: 'bda1ca ...'

, ben 'doğru' özetler alır Bu ikili yazılımı çevrimiçi bir hesap makinesiyle çalıştırıyorum ve aynı sonucu elde ediyorum. Bir Hex editör bu karma açarsanız

, benim panoya içine bayt tüm ayıklamak ve farklı bir sonuç elde bir SHA256 hesap makinesi yapıştırın: '689035 ...'

ben burada eksik ? Her bayt arasında üst/alt nakit, boşluk denedim. Başka ne denemem gerektiğinden emin değilim.

Bu sorun, Python'da bunu uyguladığımdan, ancak koddan endişelenmeden önce bunun neden farklı olduğunu anlamaya çalıştığım için başlatıldı.

+0

(XXD i dosyasının içeriğini görüntülemek için kullanılan bir onaltılık editörü). Aslında, python betiğim doğruydu, ama birilerinin yanlış talimatlarına dayanarak dosyaları dosyadan okuyordum! Ancak, dvxam bunu şimdi anladığım kadarıyla açıkladı. –

cevap

1

Klavyenizi onaltılık editörünüzden "bytes" a kopyaladığınızda, büyük olasılıkla sadece bir dize temsilini kopyalamanız gerekir.

belki o komutlar bunu almak için yardımcı olacaktır:

$ echo "Hello, world" > my_bin 

$ shasum -a 256 my_bin 
37980c33951de6b0e450c3701b219bfeee930544705f637cd1158b63827bb390 - 


$ cat my_bin | shasum -a 256 
37980c33951de6b0e450c3701b219bfeee930544705f637cd1158b63827bb390 - 

$ cat my_bin | xxd -p | shasum -a 256 
0e535a1a279db9753bcbc226b9305e6e6a39ba2d866c01a44cb9aac8d5fc9833 - 

Doğru olarak dvxam cevabını seçmek için gidiyorum

+0

Teşekkür ederim, bunu çok anlıyorum. Bu şekilde yol nedir? Örneğin - bir SHA256 gerçekleştirdiğim ikili, daha büyük bir ikili parçanın daha küçük bir parçasıdır. Ben daha küçük ikili SHA256 bir sonuç alırsam, ama değerleri python betiğimde "okuduğumda" başka bir tane alırsam. –