]> Cypherpunks.ru repositories - pyderasn.git/blobdiff - pyderasn.py
Use bytes joining for three elements
[pyderasn.git] / pyderasn.py
index 960256f1e38a1e191a384a9fc8eaa40f0cd6ecb7..303018d154378c1cb06ba84046f4e3522cd4df82 100755 (executable)
@@ -2704,11 +2704,11 @@ class Integer(Obj):
 
     def __hash__(self):
         self._assert_ready()
-        return hash(
-            self.tag +
-            bytes(self._expl or b"") +
+        return hash(b"".join((
+            self.tag,
+            bytes(self._expl or b""),
             str(self._value).encode("ascii"),
-        )
+        )))
 
     def __eq__(self, their):
         if isinstance(their, integer_types):
@@ -4201,11 +4201,11 @@ class ObjectIdentifier(Obj):
 
     def __hash__(self):
         self._assert_ready()
-        return hash(
-            self.tag +
-            bytes(self._expl or b"") +
+        return hash(b"".join((
+            self.tag,
+            bytes(self._expl or b""),
             str(self._value).encode("ascii"),
-        )
+        )))
 
     def __eq__(self, their):
         if their.__class__ == tuple:
@@ -6631,7 +6631,6 @@ class SequenceOf(Obj):
             value = value._value
         elif hasattr(value, NEXT_ATTR_NAME):
             iterator = True
-            value = value
         elif hasattr(value, "__iter__"):
             value = list(value)
         else: