mirror of
https://github.com/clearlinux/clr-installer.git
synced 2026-08-22 07:38:15 +00:00
dedda923e7
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
71 lines
1.4 KiB
Go
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")
|
|
}
|
|
}
|