libbb: add two more forgotten source files

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2025-07-07 04:57:16 +02:00
parent a2a5db41a3
commit e2091c9842
2 changed files with 43 additions and 0 deletions

19
libbb/hash_sha256_block.c Normal file
View file

@ -0,0 +1,19 @@
/* vi: set sw=4 ts=4: */
/*
* Utility routines.
*
* Copyright (C) 2025 Denys Vlasenko
*
* Licensed under GPLv2 or later, see file LICENSE in this source tree.
*/
//kbuild:lib-y += hash_sha256_block.o
#include "libbb.h"
void FAST_FUNC
sha256_block(const void *in, size_t len, uint8_t hash[32])
{
sha256_ctx_t ctx;
sha256_begin(&ctx);
sha256_hash(&ctx, in, len);
sha256_end(&ctx, hash);
}

24
libbb/pw_encrypt_yes.c Normal file
View file

@ -0,0 +1,24 @@
/*
* Utility routines.
*
* Copyright (C) 2025 by Denys Vlasenko <vda.linux@googlemail.com>
*
* Licensed under GPLv2, see file LICENSE in this source tree.
*/
#include "yescrypt/alg-yescrypt.h"
static char *
yes_crypt(const char *passwd, const char *salt_data)
{
/* prefix, '$', hash, NUL */
char buf[YESCRYPT_PREFIX_LEN + 1 + YESCRYPT_HASH_LEN + 1];
char *retval;
retval = yescrypt_r(
(const uint8_t *)passwd, strlen(passwd),
(const uint8_t *)salt_data,
buf, sizeof(buf));
/* The returned value is either buf[], or NULL on error */
return xstrdup(retval);
}