Refs #2578 -- implement __hash__ on SubjectKeyIdentifier
diff --git a/src/cryptography/x509/extensions.py b/src/cryptography/x509/extensions.py
index 2363d2b..5ef7a28 100644
--- a/src/cryptography/x509/extensions.py
+++ b/src/cryptography/x509/extensions.py
@@ -234,6 +234,9 @@
     def __ne__(self, other):
         return not self == other
 
+    def __hash__(self):
+        return hash(self.digest)
+
 
 @utils.register_interface(ExtensionType)
 class AuthorityInformationAccess(object):
diff --git a/tests/test_x509_ext.py b/tests/test_x509_ext.py
index 49a3433..0f5d782 100644
--- a/tests/test_x509_ext.py
+++ b/tests/test_x509_ext.py
@@ -656,6 +656,20 @@
         assert ski != ski2
         assert ski != object()
 
+    def test_hash(self):
+        ski1 = x509.SubjectKeyIdentifier(
+            binascii.unhexlify(b"092384932230498bc980aa8098456f6ff7ff3ac9")
+        )
+        ski2 = x509.SubjectKeyIdentifier(
+            binascii.unhexlify(b"092384932230498bc980aa8098456f6ff7ff3ac9")
+        )
+        ski3 = x509.SubjectKeyIdentifier(
+            binascii.unhexlify(b"aa8098456f6ff7ff3ac9092384932230498bc980")
+        )
+
+        assert hash(ski1) == hash(ski2)
+        assert hash(ski1) != hash(ski3)
+
 
 class TestAuthorityKeyIdentifier(object):
     def test_authority_cert_issuer_not_generalname(self):