mirror of
https://github.com/jedisct1/libsodium.git
synced 2026-08-25 08:37:13 +09:00
Change the generichash API to better match other NaCl APIs
i.e. give a size right after the pointer.
This commit is contained in:
@@ -7,10 +7,9 @@
|
||||
#include "blake2.h"
|
||||
|
||||
int
|
||||
crypto_generichash_blake2b(unsigned char *out, const unsigned char *in,
|
||||
const unsigned char *key,
|
||||
size_t outlen, unsigned long long inlen,
|
||||
size_t keylen)
|
||||
crypto_generichash_blake2b(unsigned char *out, size_t outlen,
|
||||
const unsigned char *in, unsigned long long inlen,
|
||||
const unsigned char *key, size_t keylen)
|
||||
{
|
||||
if (outlen <= 0U || outlen > BLAKE2B_OUTBYTES ||
|
||||
keylen > BLAKE2B_KEYBYTES || inlen > UINT64_MAX) {
|
||||
@@ -26,8 +25,7 @@ crypto_generichash_blake2b(unsigned char *out, const unsigned char *in,
|
||||
int
|
||||
crypto_generichash_blake2b_init(crypto_generichash_blake2b_state *state,
|
||||
const unsigned char *key,
|
||||
const size_t keylen,
|
||||
const size_t outlen)
|
||||
const size_t keylen, const size_t outlen)
|
||||
{
|
||||
if (outlen <= 0U || outlen > BLAKE2B_OUTBYTES ||
|
||||
keylen > BLAKE2B_KEYBYTES) {
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
#include "crypto_generichash.h"
|
||||
|
||||
int
|
||||
crypto_generichash(unsigned char *out, const unsigned char *in,
|
||||
const unsigned char *key,
|
||||
size_t outlen, unsigned long long inlen, size_t keylen)
|
||||
crypto_generichash(unsigned char *out, size_t outlen, const unsigned char *in,
|
||||
unsigned long long inlen, const unsigned char *key,
|
||||
size_t keylen)
|
||||
{
|
||||
return crypto_generichash_blake2b(out, in, key, outlen, inlen, keylen);
|
||||
return crypto_generichash_blake2b(out, outlen, in, inlen, key, keylen);
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
@@ -11,10 +11,9 @@
|
||||
|
||||
typedef crypto_generichash_blake2b_state crypto_generichash_state;
|
||||
|
||||
int crypto_generichash(unsigned char *out, const unsigned char *in,
|
||||
const unsigned char *key,
|
||||
size_t outlen, unsigned long long inlen,
|
||||
size_t keylen);
|
||||
int crypto_generichash(unsigned char *out, size_t outlen,
|
||||
const unsigned char *in, unsigned long long inlen,
|
||||
const unsigned char *key, size_t keylen);
|
||||
|
||||
int crypto_generichash_init(crypto_generichash_blake2b_state *state,
|
||||
const unsigned char *key,
|
||||
|
||||
@@ -30,17 +30,14 @@ CRYPTO_ALIGN(64) typedef struct {
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
int crypto_generichash_blake2b_ref(unsigned char *out,
|
||||
int crypto_generichash_blake2b_ref(unsigned char *out, size_t outlen,
|
||||
const unsigned char *in,
|
||||
const unsigned char *key,
|
||||
size_t outlen,
|
||||
unsigned long long inlen,
|
||||
size_t keylen);
|
||||
const unsigned char *key, size_t keylen);
|
||||
|
||||
int crypto_generichash_blake2b_init(crypto_generichash_blake2b_state *state,
|
||||
const unsigned char *key,
|
||||
const size_t keylen,
|
||||
const size_t outlen);
|
||||
const size_t keylen, const size_t outlen);
|
||||
|
||||
int crypto_generichash_blake2b_update(crypto_generichash_blake2b_state *state,
|
||||
const unsigned char *in,
|
||||
|
||||
@@ -15,8 +15,9 @@ int main(void)
|
||||
|
||||
for(i = 0; i < MAXLEN; ++i) {
|
||||
in[i]=i;
|
||||
crypto_generichash(out, in, k, 1 + i % crypto_generichash_BYTES_MAX,
|
||||
i, 1 + i % crypto_generichash_KEYBYTES_MAX);
|
||||
crypto_generichash(out, 1 + i % crypto_generichash_BYTES_MAX,
|
||||
in, i,
|
||||
k, 1 + i % crypto_generichash_KEYBYTES_MAX);
|
||||
for (j = 0;j < 1 + i % crypto_generichash_BYTES_MAX;++j) {
|
||||
printf("%02x",(unsigned int) out[j]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user