aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_utils.py
diff options
context:
space:
mode:
authorDonald Stufft <donald@stufft.io>2013-10-18 17:35:07 -0700
committerDonald Stufft <donald@stufft.io>2013-10-18 17:35:07 -0700
commitf6c61eb4a475a8579885d015e54aa65b8528083b (patch)
treed2421ebcab14687d06104dd44bfec22a8a09244a /tests/test_utils.py
parentc1061753ef6a7276c33f76df954f7097c8b78303 (diff)
parent87cd0db396e157b3fb160b8b6fd770e2c661ace2 (diff)
downloadcryptography-f6c61eb4a475a8579885d015e54aa65b8528083b.tar.gz
cryptography-f6c61eb4a475a8579885d015e54aa65b8528083b.tar.bz2
cryptography-f6c61eb4a475a8579885d015e54aa65b8528083b.zip
Merge pull request #121 from reaperhulk/hash-saga-loaders
hash vector loader and tests (Hash Saga Part 2)
Diffstat (limited to 'tests/test_utils.py')
-rw-r--r--tests/test_utils.py58
1 files changed, 57 insertions, 1 deletions
diff --git a/tests/test_utils.py b/tests/test_utils.py
index 28e7407b..a9bb6a87 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -13,9 +13,12 @@
import textwrap
+import pytest
+
from .utils import (load_nist_vectors, load_nist_vectors_from_file,
load_cryptrec_vectors, load_cryptrec_vectors_from_file,
- load_openssl_vectors, load_openssl_vectors_from_file)
+ load_openssl_vectors, load_openssl_vectors_from_file, load_hash_vectors,
+ load_hash_vectors_from_file)
def test_load_nist_vectors_encrypt():
@@ -360,3 +363,56 @@ def test_load_openssl_vectors_from_file():
"ciphertext": b"D776379BE0E50825E681DA1A4C980E8E",
},
]
+
+
+def test_load_hash_vectors():
+ vector_data = textwrap.dedent("""
+
+ # http://tools.ietf.org/html/rfc1321
+ [irrelevant]
+
+ Len = 0
+ Msg = 00
+ MD = d41d8cd98f00b204e9800998ecf8427e
+
+ Len = 8
+ Msg = 61
+ MD = 0cc175b9c0f1b6a831c399e269772661
+
+ Len = 24
+ Msg = 616263
+ MD = 900150983cd24fb0d6963f7d28e17f72
+
+ Len = 112
+ Msg = 6d65737361676520646967657374
+ MD = f96b697d7cb7938d525a2f31aaf161d0
+ """).splitlines()
+ assert load_hash_vectors(vector_data) == [
+ (b"", "d41d8cd98f00b204e9800998ecf8427e"),
+ (b"61", "0cc175b9c0f1b6a831c399e269772661"),
+ (b"616263", "900150983cd24fb0d6963f7d28e17f72"),
+ (b"6d65737361676520646967657374", "f96b697d7cb7938d525a2f31aaf161d0"),
+ ]
+
+
+def test_load_hash_vectors_bad_data():
+ vector_data = textwrap.dedent("""
+ # http://tools.ietf.org/html/rfc1321
+
+ Len = 0
+ Msg = 00
+ UNKNOWN=Hello World
+ """).splitlines()
+ with pytest.raises(ValueError):
+ load_hash_vectors(vector_data)
+
+
+def test_load_hash_vectors_from_file():
+ test_list = load_hash_vectors_from_file("RFC/MD5/rfc-1321.txt")
+ assert len(test_list) == 7
+ assert test_list[:4] == [
+ (b"", "d41d8cd98f00b204e9800998ecf8427e"),
+ (b"61", "0cc175b9c0f1b6a831c399e269772661"),
+ (b"616263", "900150983cd24fb0d6963f7d28e17f72"),
+ (b"6d65737361676520646967657374", "f96b697d7cb7938d525a2f31aaf161d0"),
+ ]