err = crypto_hash_digest(&desc, &tmp, keylen, digest);
if (err)
err = crypto_hash_digest(&desc, &tmp, keylen, digest);
if (err)
sg_set_buf(sg2, opad, bs + ds);
err = crypto_hash_digest(&desc, sg1, nbytes + bs, digest);
sg_set_buf(sg2, opad, bs + ds);
err = crypto_hash_digest(&desc, sg1, nbytes + bs, digest);