def test_modified(self): """ Test a changed crypted data """ txt = u"".join([unichr(i) for i in xrange(0, 256)]) key = u"".join([unichr(i) for i in xrange(256, 0, -1)]) original_crypted = encrypt(txt, key, use_base64=False) for i in xrange(len(original_crypted)): if original_crypted[i] == u"\x00": wrong_char = u"\x01" else: wrong_char = u"\x00" invalid_crypted = u"".join([ original_crypted[:i], wrong_char, original_crypted[i+1:] ]) try: decrypt(invalid_crypted, key, use_base64=False) except SaltHashError: # OK pass else: msg = "SaltHashError not raised" print "_"*80 print msg print "position:", i print "-"*80 raise AssertionError(msg)
def test_latin1(self): """ Test with the first 256 unicode characerts """ txt = u"".join([unichr(i) for i in xrange(0, 256)]) key = u"".join([unichr(i) for i in xrange(256, 0, -1)]) crypted = encrypt(txt, key, use_base64=False) decrypted = decrypt(crypted, key, use_base64=False) self._assert_tests(txt, key, crypted, decrypted)
def test_unicode(self): """ Test with 10.000 unicode characerts """ txt = u"".join([unichr(i) for i in xrange(0, 65535, 65535 / 9999)]) key = u"".join([unichr(i) for i in xrange(2, 65535, 65535 / 9999)]) crypted = encrypt(txt, key, use_base64=False) decrypted = decrypt(crypted, key, use_base64=False) self._assert_tests(txt, key, crypted, decrypted)