Use void pointers for opaque data blobs in the SHA512 code.

This commit is contained in:
Guus Sliepen 2015-01-04 14:19:23 +01:00
parent 4b42518813
commit b737103a91
2 changed files with 11 additions and 9 deletions

View file

@ -88,7 +88,7 @@ static const uint64_t K[80] = {
#endif
/* compress 1024-bits */
static int sha512_compress(sha512_context *md, unsigned char *buf)
static int sha512_compress(sha512_context *md, const unsigned char *buf)
{
uint64_t S[8], W[80], t0, t1;
int i;
@ -168,8 +168,9 @@ int sha512_init(sha512_context * md) {
@param inlen The length of the data (octets)
@return 0 if successful
*/
int sha512_update(sha512_context *md, const unsigned char *in, size_t inlen)
int sha512_update(sha512_context *md, const void *vin, size_t inlen)
{
const unsigned char *in = vin;
size_t n;
size_t i;
int err;
@ -180,7 +181,7 @@ int sha512_update(sha512_context *md, const unsigned char *in, size_t inlen)
}
while (inlen > 0) {
if (md->curlen == 0 && inlen >= 128) {
if ((err = sha512_compress (md, (unsigned char *)in)) != 0) {
if ((err = sha512_compress (md, in)) != 0) {
return err;
}
md->length += 128 * 8;
@ -215,9 +216,10 @@ int sha512_update(sha512_context *md, const unsigned char *in, size_t inlen)
@param out [out] The destination of the hash (64 bytes)
@return 0 if successful
*/
int sha512_final(sha512_context * md, unsigned char *out)
int sha512_final(sha512_context * md, void *vout)
{
int i;
unsigned char *out = vout;
if (md == NULL) return 1;
if (out == NULL) return 1;
@ -264,7 +266,7 @@ int sha512_final(sha512_context * md, unsigned char *out)
return 0;
}
int sha512(const unsigned char *message, size_t message_len, unsigned char *out)
int sha512(const void *message, size_t message_len, void *out)
{
sha512_context ctx;
int ret;

View file

@ -14,8 +14,8 @@ typedef struct sha512_context_ {
int sha512_init(sha512_context * md);
int sha512_final(sha512_context * md, unsigned char *out);
int sha512_update(sha512_context * md, const unsigned char *in, size_t inlen);
int sha512(const unsigned char *message, size_t message_len, unsigned char *out);
int sha512_final(sha512_context * md, void *out);
int sha512_update(sha512_context * md, const void *in, size_t inlen);
int sha512(const void *message, size_t message_len, void *out);
#endif
#endif