def test_compute_mac(self): # Different data -> different MACs. # Also boundaries between data strings matter. macs = ( tokens.compute_mac(self.algo, 'secret', []), tokens.compute_mac(self.algo, 'secret', ['']), tokens.compute_mac(self.algo, 'secret', ['', '']), tokens.compute_mac(self.algo, 'secret', ['\x00']), tokens.compute_mac(self.algo, 'secret', ['a', 'b']), tokens.compute_mac(self.algo, 'secret', ['ab']), tokens.compute_mac(self.algo, 'secret', ['0' * 10]), tokens.compute_mac(self.algo, 'secret', ['0'] + 10 * ['']), ) self.assertTrue(len(set(macs)) == len(macs))
def test_compute_mac(self): # Different data -> different MACs. # Also boundaries between data strings matter. macs = ( tokens.compute_mac(self.algo, "secret", []), tokens.compute_mac(self.algo, "secret", [""]), tokens.compute_mac(self.algo, "secret", ["", ""]), tokens.compute_mac(self.algo, "secret", ["\x00"]), tokens.compute_mac(self.algo, "secret", ["a", "b"]), tokens.compute_mac(self.algo, "secret", ["ab"]), tokens.compute_mac(self.algo, "secret", ["0" * 10]), tokens.compute_mac(self.algo, "secret", ["0"] + 10 * [""]), ) self.assertTrue(len(set(macs)) == len(macs))
def test_compute_mac_uses_secret(self): # Different secrets -> different MACs. mac1 = tokens.compute_mac(self.algo, 'secret1', ['a', 'b']) mac2 = tokens.compute_mac(self.algo, 'secret2', ['a', 'b']) self.assertNotEqual(mac1, mac2)
def test_compute_mac_length(self): self.assertEqual(tokens.MAC_ALGOS[self.algo][1], len(tokens.compute_mac(self.algo, 'secret', ['a'])))
def test_compute_mac_length(self): self.assertEqual( tokens.MAC_ALGOS[self.algo][1], len(tokens.compute_mac(self.algo, 'secret', ['a'])))
def test_compute_mac_uses_secret(self): # Different secrets -> different MACs. mac1 = tokens.compute_mac(self.algo, "secret1", ["a", "b"]) mac2 = tokens.compute_mac(self.algo, "secret2", ["a", "b"]) self.assertNotEqual(mac1, mac2)