Beispiel #1
0
  void sha256_final(sha256_ctx *p) {
    uint64_t len;
    p->in[p->inlen++] = 0x80;

    if(p->inlen > 56) {
      memset(p->in + p->inlen, 0, 64 - p->inlen);
      sha256_block(p);
    }

    memset(p->in + p->inlen, 0, 56 - p->inlen);

    len = p->len << 3;
    ST32BE(p->in + 56, len >> 32);
    ST32BE(p->in + 60, len);
    sha256_block(p);
  }
Beispiel #2
0
static void sha256_final(struct sha256_ctx *p) 
{
   uint64_t len;
   p->in.u8[p->inlen++] = 0x80;

   if (p->inlen > 56) 
   {
      memset(p->in.u8 + p->inlen, 0, 64 - p->inlen);
      sha256_block(p);
   }

   memset(p->in.u8 + p->inlen, 0, 56 - p->inlen);

   len = p->len << 3;
   store32be(p->in.u32 + 14, (uint32_t)(len >> 32));
   store32be(p->in.u32 + 15, (uint32_t)len);
   sha256_block(p);
}
Beispiel #3
0
  void sha256_chunk(sha256_ctx *p, const uint8_t *s, unsigned len) {
    unsigned l;
    p->len += len;

    while(len) {
      l = 64 - p->inlen;
      l = (len < l) ? len : l;

      memcpy(p->in + p->inlen, s, l);
      s += l;
      p->inlen += l;
      len -= l;

      if(p->inlen == 64) sha256_block(p);
    }
  }
Beispiel #4
0
static void sha256_chunk(struct sha256_ctx *p,
      const uint8_t *s, unsigned len) 
{
   p->len += len;

   while (len) 
   {
      unsigned l = 64 - p->inlen;

      if (len < l)
         l       = len;

      memcpy(p->in.u8 + p->inlen, s, l);

      s         += l;
      p->inlen  += l;
      len       -= l;

      if (p->inlen == 64) 
         sha256_block(p);
   }
}
void HASH_BLOCK_DATA_ORDER (SHA256_CTX *ctx, const void *in, size_t num)
{   sha256_block (ctx,in,num,0);   }