IAM-15: timing-safe-vergleich-als-projektweite-coding-konvention (internal/timingsafe, coding-guideline, audit bestehender vergleichsstellen)
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package timingsafe
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestEqual_SameBytes(t *testing.T) {
|
||||
if !Equal([]byte("geheimnis"), []byte("geheimnis")) {
|
||||
t.Fatal("identische Byte-Slices sollten gleich sein")
|
||||
}
|
||||
}
|
||||
|
||||
func TestEqual_DifferentBytes(t *testing.T) {
|
||||
if Equal([]byte("geheimnis"), []byte("anders123")) {
|
||||
t.Fatal("unterschiedliche Byte-Slices sollten ungleich sein")
|
||||
}
|
||||
}
|
||||
|
||||
func TestEqual_DifferentLength(t *testing.T) {
|
||||
if Equal([]byte("kurz"), []byte("laengererstring")) {
|
||||
t.Fatal("unterschiedliche Laenge sollte immer ungleich sein")
|
||||
}
|
||||
}
|
||||
|
||||
func TestEqual_EmptyVsEmpty(t *testing.T) {
|
||||
if !Equal([]byte(""), []byte("")) {
|
||||
t.Fatal("zwei leere Slices sollten gleich sein")
|
||||
}
|
||||
}
|
||||
|
||||
func TestEqualString_MatchesEqual(t *testing.T) {
|
||||
if !EqualString("abc123", "abc123") {
|
||||
t.Fatal("identische Strings sollten gleich sein")
|
||||
}
|
||||
if EqualString("abc123", "xyz789") {
|
||||
t.Fatal("unterschiedliche Strings sollten ungleich sein")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user