Files
2019-05-08 13:31:49 -07:00

71 lines
1.4 KiB
Go

// Copyright © 2019 Intel Corporation
//
// SPDX-License-Identifier: GPL-3.0-only
package encrypt
import (
"testing"
"github.com/GehirnInc/crypt"
// package requires importing the hash method to blank
_ "github.com/GehirnInc/crypt/sha512_crypt"
)
func TestCrypt(t *testing.T) {
crypt := crypt.SHA512.New()
str := "a string to be hashed"
hashed, hErr := Crypt(str)
if hErr != nil {
t.Fatalf("Should not fail to hash the string")
}
hashed2, h2Err := Crypt(str)
if h2Err != nil {
t.Fatalf("Should not fail to hash2 the string")
}
if hashed2 == hashed {
t.Fatalf("The hashes should not be the same")
}
err := crypt.Verify(hashed, []byte(str))
if err != nil {
t.Fatalf("Failed to verify hashed")
}
err = crypt.Verify(hashed2, []byte(str))
if err != nil {
t.Fatalf("Failed to verify hashed2")
}
}
func TestFailCrypt(t *testing.T) {
crypt := crypt.SHA512.New()
str := "a string to be hashed"
str2 := "string to be hashed"
hashed, hErr := Crypt(str)
if hErr != nil {
t.Fatalf("Should not fail to hash the string")
}
hashed2, h2Err := Crypt(str2)
if h2Err != nil {
t.Fatalf("Should not fail to hash2 the string")
}
err := crypt.Verify(hashed, []byte(str2))
if err == nil {
t.Fatalf("Should have Failed to verify hashed")
}
err = crypt.Verify(hashed2, []byte(str))
if err == nil {
t.Fatalf("Should have Failed to verify hashed2")
}
}