.. index:: single: blake2s(Key,DigestSize)
.. _blake2s/2:

.. rst-class:: right

**object**

``blake2s(Key,DigestSize)``
===========================

* ``Key`` - A list of 0 to 32 key bytes. Use the empty list for unkeyed hashing.
* ``DigestSize`` - Number of digest bytes to generate, from 1 to 32.


BLAKE2s hash function.

| **Availability:** 
|    ``logtalk_load(hashes(loader))``

| **Author:** Paulo Moura
| **Version:** 1:1:0
| **Date:** 2026-08-04

| **Compilation flags:**
|    ``static, context_switching_calls``


| **Imports:**
|    ``public`` :ref:`blake2_core(Key,DigestSize) <blake2_core/2>`
| **Uses:**
|    :ref:`byte_order <byte_order/0>`
|    :ref:`hash_common_32 <hash_common_32/0>`
|    :ref:`list <list/0>`

| **Remarks:**
|    (none)

| **Inherited public predicates:**
|     :ref:`hash_digest_protocol/0::block_size/1`  :ref:`hash_digest_protocol/0::digest/2`  :ref:`hash_digest_protocol/0::digest_size/1`  :ref:`hash_state_protocol/0::final_hash_state/2`  :ref:`hash_protocol/0::hash/2`  :ref:`hash_state_protocol/0::new_hash_state/1`  :ref:`hash_state_protocol/0::update_hash_state/3`  

.. contents::
   :local:
   :backlinks: top

Public predicates
-----------------

(no local declarations; see entity ancestors if any)

Protected predicates
--------------------

(no local declarations; see entity ancestors if any)

Private predicates
------------------

(no local declarations; see entity ancestors if any)

Operators
---------

(none)

.. seealso::

   :ref:`blake2s <blake2s/0>`, :ref:`blake2b(Key,DigestSize) <blake2b/2>`, :ref:`md5 <md5/0>`, :ref:`sha256 <sha256/0>`

