Issue #25287: Don't add crypt.METHOD_CRYPT to crypt.methods if it's not
supported. Check if it is supported, it may not be supported on OpenBSD for
example.
diff --git a/Doc/library/crypt.rst b/Doc/library/crypt.rst
index b4c90cd..04ffdb2 100644
--- a/Doc/library/crypt.rst
+++ b/Doc/library/crypt.rst
@@ -64,7 +64,7 @@
 
    A list of available password hashing algorithms, as
    ``crypt.METHOD_*`` objects.  This list is sorted from strongest to
-   weakest, and is guaranteed to have at least ``crypt.METHOD_CRYPT``.
+   weakest.
 
 
 Module Functions
diff --git a/Lib/crypt.py b/Lib/crypt.py
index 49ab96e..fbc5f4c 100644
--- a/Lib/crypt.py
+++ b/Lib/crypt.py
@@ -54,9 +54,8 @@
 METHOD_SHA512 = _Method('SHA512', '6', 16, 106)
 
 methods = []
-for _method in (METHOD_SHA512, METHOD_SHA256, METHOD_MD5):
+for _method in (METHOD_SHA512, METHOD_SHA256, METHOD_MD5, METHOD_CRYPT):
     _result = crypt('', _method)
     if _result and len(_result) == _method.total_size:
         methods.append(_method)
-methods.append(METHOD_CRYPT)
 del _result, _method
diff --git a/Misc/NEWS b/Misc/NEWS
index b43073f..8aad689 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -40,6 +40,10 @@
 Library
 -------
 
+- Issue #25287: Don't add crypt.METHOD_CRYPT to crypt.methods if it's not
+  supported. Check if it is supported, it may not be supported on OpenBSD for
+  example.
+
 - Issue #23600: Default implementation of tzinfo.fromutc() was returning
   wrong results in some cases.