2024-04-11 15:51:56 +02:00
|
|
|
package blake3_test
|
|
|
|
|
|
|
|
import "seekia/internal/cryptography/blake3"
|
|
|
|
|
|
|
|
import "testing"
|
|
|
|
|
|
|
|
func TestHashes(t *testing.T) {
|
|
|
|
|
2024-06-21 10:47:06 +02:00
|
|
|
testData := []byte("Seekia:ARaceAndGeneticsAwareMateDiscoveryNetwork.")
|
2024-04-11 15:51:56 +02:00
|
|
|
|
2024-06-21 10:47:06 +02:00
|
|
|
expectedHashResult := "4fa43b5aa023d62e9874655e2bd43c6f623a7820055f34d2907072e52aff2a2f59208c5b8d335fbb467f319c3cf83604f27495ed122b7d472bd8a8f07c7cd7da"
|
2024-04-11 15:51:56 +02:00
|
|
|
|
|
|
|
hashResult, err := blake3.GetBlake3HashAsHexString(64, testData)
|
|
|
|
if (err != nil) {
|
|
|
|
t.Fatalf("Failed to get 64 byte blake3 hash: " + err.Error())
|
|
|
|
}
|
|
|
|
|
|
|
|
if (hashResult != expectedHashResult){
|
|
|
|
t.Fatalf("Blake3 512 bits hash result is not expected: " + hashResult)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
_, err = blake3.GetBlake3HashAsBase32String(32, testData)
|
|
|
|
if (err == nil) {
|
|
|
|
t.Fatalf("Failed to get correct length error on base32 hash.")
|
|
|
|
}
|
|
|
|
|
|
|
|
outputHex, err := blake3.GetBlake3HashAsHexString(16, testData)
|
|
|
|
if (err != nil) {
|
|
|
|
t.Fatalf("Failed to get 16 byte blake3 hash: " + err.Error())
|
|
|
|
}
|
2024-06-21 10:47:06 +02:00
|
|
|
if (outputHex != "4fa43b5aa023d62e9874655e2bd43c6f"){
|
2024-04-11 15:51:56 +02:00
|
|
|
t.Fatalf("16 byte blake3 hash provides invalid output: " + outputHex)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|