예제 #1
0
func TestHashBytes(t *testing.T) {
	str := "Hello World"
	hashed, err := crypto.HashBytes(hashSuite.Hash(), []byte(str))
	if err != nil {
		t.Fatal("error hashing" + err.Error())
	}
	h := hashSuite.Hash()
	h.Write([]byte(str))
	b := h.Sum(nil)
	if !bytes.Equal(b, hashed) {
		t.Fatal("hashes not equal")
	}
}
예제 #2
0
func TestHashStreamAndByteEqual(t *testing.T) {
	var buff bytes.Buffer
	rb := make([]byte, 2048)
	_, _ = rand.Read(rb)
	str := string(rb)
	buff.WriteString(str)
	hashed, err := crypto.HashStream(hashSuite.Hash(), &buff)
	if err != nil {
		t.Fatal("error hashing" + err.Error())
	}

	hashed2, err := crypto.HashBytes(hashSuite.Hash(), []byte(str))
	if err != nil {
		t.Fatal("error hashing" + err.Error())
	}
	if !bytes.Equal(hashed2, hashed) {
		t.Fatal("Ouch: HashStream and HashByte differ.")
	}
}