|
@@ -155,3 +155,22 @@ func TestWithHMACSHA1(t *testing.T) {
|
|
|
func TestWithHMACSHA256(t *testing.T) {
|
|
func TestWithHMACSHA256(t *testing.T) {
|
|
|
testHash(t, sha256.New, "SHA256", sha256TestVectors)
|
|
testHash(t, sha256.New, "SHA256", sha256TestVectors)
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+var sink uint8
|
|
|
|
|
+
|
|
|
|
|
+func benchmark(b *testing.B, h func() hash.Hash) {
|
|
|
|
|
+ password := make([]byte, h().Size())
|
|
|
|
|
+ salt := make([]byte, 8)
|
|
|
|
|
+ for i := 0; i < b.N; i++ {
|
|
|
|
|
+ password = Key(password, salt, 4096, len(password), h)
|
|
|
|
|
+ }
|
|
|
|
|
+ sink += password[0]
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func BenchmarkHMACSHA1(b *testing.B) {
|
|
|
|
|
+ benchmark(b, sha1.New)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func BenchmarkHMACSHA256(b *testing.B) {
|
|
|
|
|
+ benchmark(b, sha256.New)
|
|
|
|
|
+}
|