Index: trunk/include/sh_checksum.h
===================================================================
--- trunk/include/sh_checksum.h	(revision 445)
+++ trunk/include/sh_checksum.h	(revision 445)
@@ -0,0 +1,27 @@
+#ifndef SH_CHECKSUM_H
+#define SH_CHECKSUM_H
+
+typedef unsigned char sha2_byte  ;
+typedef UINT32        sha2_word32;
+typedef UINT64        sha2_word64;
+
+
+#define SHA256_BLOCK_LENGTH             64
+#define SHA256_SHORT_BLOCK_LENGTH       (SHA256_BLOCK_LENGTH - 8)
+#define SHA256_DIGEST_LENGTH            32
+#define SHA256_DIGEST_STRING_LENGTH     (SHA256_DIGEST_LENGTH * 2 + 1)
+
+typedef struct _SHA256_CTX {
+        sha2_word32     state[8];
+        sha2_word64     bitcount;
+        sha2_byte       buffer[SHA256_BLOCK_LENGTH];
+} SHA256_CTX;
+
+void SHA256_Init(SHA256_CTX *);
+void SHA256_Update(SHA256_CTX*, const sha2_byte*, size_t);
+void SHA256_Final(sha2_byte[SHA256_DIGEST_LENGTH], SHA256_CTX*);
+char* SHA256_End(SHA256_CTX*, char[KEYBUF_SIZE]);
+char* SHA256_Data(const sha2_byte*, size_t, char[KEYBUF_SIZE]);
+char* SHA256_Base2Hex(char * b64digest, char * hexdigest); 
+char * SHA256_ReplaceBaseByHex(const char * str, char * before, char after);
+#endif
