diff --git a/include/md5.h b/include/md5.h
index b90432f8676fb9b8cf6b61a1a753a11972804c4d..818b7d21d697da6bc2707cebf0643b3187779417 100644
--- a/include/md5.h
+++ b/include/md5.h
@@ -17,7 +17,7 @@ struct md5_ctx {
 };
 
 void md5_init(struct md5_ctx *ctx);
-void md5_update(struct md5_ctx *ctx, UINT8 *buffer, UINT32 len);
+void md5_update(struct md5_ctx *ctx, const UINT8 *buffer, UINT32 len);
 void md5_final(struct md5_ctx *ctx);
 void md5_digest(struct md5_ctx *ctx, UINT8 *s);
 void md5_copy(struct md5_ctx *dest, struct md5_ctx *src);
diff --git a/include/sha.h b/include/sha.h
index 1425aa08e3aa013343d212e07a330cb4d468fe6d..35677517c509698a773f5cb65dbc6787b03e26e7 100644
--- a/include/sha.h
+++ b/include/sha.h
@@ -20,7 +20,7 @@ struct sha_ctx {
 };
 
 void sha_init(struct sha_ctx *ctx);
-void sha_update(struct sha_ctx *ctx, UINT8 *buffer, UINT32 len);
+void sha_update(struct sha_ctx *ctx, const UINT8 *buffer, UINT32 len);
 void sha_final(struct sha_ctx *ctx);
 void sha_digest(struct sha_ctx *ctx, UINT8 *s);
 void sha_copy(struct sha_ctx *dest, struct sha_ctx *src);
diff --git a/md5.c b/md5.c
index 095cee22cac783548e89c1b839705d4cbba00e17..c96d0c0607e4f402995f6bb8c842b3e5b8e2bec8 100644
--- a/md5.c
+++ b/md5.c
@@ -135,12 +135,13 @@ static void md5_transform(struct md5_ctx *ctx, UINT32 *data)
 #endif
 
 /* Note that MD5 uses little endian byteorder */
-#define STRING2INT(s) ((((((EXTRACT_UCHAR(s+3) << 8)    \
-			   | EXTRACT_UCHAR(s+2)) << 8)  \
-			 | EXTRACT_UCHAR(s+1)) << 8)    \
-		       | EXTRACT_UCHAR(s))
+#define STRING2INT(s) ((((((EXTRACT_UCHAR(s+3) << 8)	\
+			  | EXTRACT_UCHAR(s+2)) << 8)	\
+			  | EXTRACT_UCHAR(s+1)) << 8)	\
+		          | EXTRACT_UCHAR(s))
   
-static void md5_block(struct md5_ctx *ctx, UINT8 *block)
+static void
+md5_block(struct md5_ctx *ctx, const UINT8 *block)
 {
   UINT32 data[MD5_DATALEN];
   int i;
@@ -156,9 +157,10 @@ static void md5_block(struct md5_ctx *ctx, UINT8 *block)
   md5_transform(ctx, data);
 }
 
-void md5_update(struct md5_ctx *ctx,
-		      UINT8 *buffer,
-		      UINT32 len)
+void
+md5_update(struct md5_ctx *ctx,
+	   const UINT8 *buffer,
+	   UINT32 len)
 {
   if (ctx->index)
   { /* Try to fill partial block */
@@ -230,7 +232,8 @@ void md5_final(struct md5_ctx *ctx)
   md5_transform(ctx, data);
 }
 
-void md5_digest(struct md5_ctx *ctx, UINT8 *s)
+void
+md5_digest(struct md5_ctx *ctx, UINT8 *s)
 {
   int i;
 
diff --git a/sha.c b/sha.c
index b400dd803b8ae62bd315b4033d081c8e221e0e7c..da4177a5b9d67486f6a13897c90f4c98e84b5335 100644
--- a/sha.c
+++ b/sha.c
@@ -267,7 +267,8 @@ UINT32 STRING2INT(UINT8 *s)
 }
 #endif
 
-static void sha_block(struct sha_ctx *ctx, UINT8 *block)
+static void
+sha_block(struct sha_ctx *ctx, const UINT8 *block)
 {
   UINT32 data[SHA_DATALEN];
   int i;
@@ -283,7 +284,9 @@ static void sha_block(struct sha_ctx *ctx, UINT8 *block)
   sha_transform(ctx, data);
 }
 
-void sha_update(struct sha_ctx *ctx, UINT8 *buffer, UINT32 len)
+void
+sha_update(struct sha_ctx *ctx,
+	   const UINT8 *buffer, UINT32 len)
 {
   if (ctx->index)
     { /* Try to fill partial block */
@@ -316,7 +319,8 @@ void sha_update(struct sha_ctx *ctx, UINT8 *buffer, UINT32 len)
 /* Final wrapup - pad to SHA_DATASIZE-byte boundary with the bit pattern
    1 0* (64-bit count of bits processed, MSB-first) */
 
-void sha_final(struct sha_ctx *ctx)
+void
+sha_final(struct sha_ctx *ctx)
 {
   UINT32 data[SHA_DATALEN];
   int i;
@@ -354,7 +358,8 @@ void sha_final(struct sha_ctx *ctx)
   sha_transform(ctx, data);
 }
 
-void sha_digest(struct sha_ctx *ctx, UINT8 *s)
+void
+sha_digest(struct sha_ctx *ctx, UINT8 *s)
 {
   int i;