diff --git a/Lib/sha.py b/Lib/sha.py
index 9d914a9..7e6d7af 100644
--- a/Lib/sha.py
+++ b/Lib/sha.py
@@ -3,6 +3,10 @@
 #  Copyright (C) 2005   Gregory P. Smith (greg@electricrain.com)
 #  Licensed to PSF under a Contributor Agreement.
 
+import warnings
+warnings.warn("the sha module is deprecated; use the hashlib module instead",
+                DeprecationWarning, 2)
+
 from hashlib import sha1 as sha
 new = sha
 
diff --git a/Lib/test/test_hmac.py b/Lib/test/test_hmac.py
index 9d094d2..d28490d 100644
--- a/Lib/test/test_hmac.py
+++ b/Lib/test/test_hmac.py
@@ -1,5 +1,5 @@
 import hmac
-import sha
+from hashlib import sha1
 import unittest
 from test import test_support
 
@@ -43,7 +43,7 @@
 
     def test_sha_vectors(self):
         def shatest(key, data, digest):
-            h = hmac.HMAC(key, data, digestmod=sha)
+            h = hmac.HMAC(key, data, digestmod=sha1)
             self.assertEqual(h.hexdigest().upper(), digest.upper())
 
         shatest(chr(0x0b) * 20,
@@ -95,11 +95,11 @@
 
     def test_withmodule(self):
         # Constructor call with text and digest module.
-        import sha
+        from hashlib import sha1
         try:
-            h = hmac.HMAC("key", "", sha)
+            h = hmac.HMAC("key", "", sha1)
         except:
-            self.fail("Constructor call with sha module raised exception.")
+            self.fail("Constructor call with hashlib.sha1 raised exception.")
 
 class SanityTestCase(unittest.TestCase):
 
diff --git a/Lib/test/test_pep247.py b/Lib/test/test_pep247.py
index 1eb9462..6add210 100644
--- a/Lib/test/test_pep247.py
+++ b/Lib/test/test_pep247.py
@@ -6,6 +6,8 @@
 import warnings
 warnings.filterwarnings("ignore", "the md5 module is deprecated.*",
                         DeprecationWarning)
+warnings.filterwarnings("ignore", "the sha module is deprecated.*",
+                        DeprecationWarning)
 
 import md5, sha, hmac
 
diff --git a/Lib/test/test_sha.py b/Lib/test/test_sha.py
index ea224e4..0647db3 100644
--- a/Lib/test/test_sha.py
+++ b/Lib/test/test_sha.py
@@ -4,6 +4,10 @@
 # Publication 180-1, Secure Hash Standard,  1995 April 17
 # http://www.itl.nist.gov/div897/pubs/fip180-1.htm
 
+import warnings
+warnings.filterwarnings("ignore", "the sha module is deprecated.*",
+                        DeprecationWarning)
+
 import sha
 import unittest
 from test import test_support
diff --git a/Lib/uuid.py b/Lib/uuid.py
index eb12d78..e21b070 100644
--- a/Lib/uuid.py
+++ b/Lib/uuid.py
@@ -529,8 +529,8 @@
 
 def uuid5(namespace, name):
     """Generate a UUID from the SHA-1 hash of a namespace UUID and a name."""
-    import sha
-    hash = sha.sha(namespace.bytes + name).digest()
+    from hashlib import sha1
+    hash = sha1(namespace.bytes + name).digest()
     return UUID(bytes=hash[:16], version=5)
 
 # The following standard UUIDs are for use with uuid3() or uuid5().
