Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
sodium-universal
Advanced tools
Universal wrapper for sodium-javascript and sodium-native working in Node.js and the Browser
Universal wrapper for sodium-javascript
and sodium-native
working in Node.js and the Browser
npm install sodium-universal
sodium-native
ships with prebuilds for macOS, Windows, and Linux.
Note that the module itself is generated on a prepublish hook.
var sodium = require('sodium-universal')
var rnd = Buffer.allocUnsafe(12) // Cryptographically random data
sodium.randombytes_buf(rnd)
console.log(rnd.toString('hex'))
Works seamlessly with Node.js:
$ node example.js
c7dbd46a6cc84ff2e0d1285c
And the browser:
First install the peer dep, sodium-javascript
.
npm install --save sodium-javascript
And then browserify
browserify example.js > bundle.js
libsodium
is a collection of cryptographic primitives, providing a low-level foundation to build higher-level cryptographic applications and protocols. It is often put in contrast to RSA based cryptography and OpenSSL, even though they all share overlapping algorithms and target slightly different audiences. Sodium is a collection of modern collection of primitives, fulfilling the same cryptographic tasks, but based on simpler and more efficient algorithms.
This library provides seamless bindings to sodium-native
, which is the original C implementation of libsodium
exposed as a Node native module. For the browser we expose sodium-javascript
, using the package.json
browser
field, which is supported by most bundlers.
Please refer to sodium-native
and sodium-javascript
. Note that the two modules do not yet have feature parity, where sodium-native
is the more featureful of the two.
C Library Symbol | sodium-native | sodium-javascript |
---|---|---|
crypto_aead_chacha20poly1305_ietf_ABYTES | :white_check_mark: | :white_check_mark: |
crypto_aead_chacha20poly1305_ietf_decrypt | :white_check_mark: | :white_check_mark: |
crypto_aead_chacha20poly1305_ietf_decrypt_detached | :white_check_mark: | :white_check_mark: |
crypto_aead_chacha20poly1305_ietf_encrypt | :white_check_mark: | :white_check_mark: |
crypto_aead_chacha20poly1305_ietf_encrypt_detached | :white_check_mark: | :white_check_mark: |
crypto_aead_chacha20poly1305_ietf_KEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_aead_chacha20poly1305_ietf_keygen | :white_check_mark: | :small_red_triangle: |
crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX | :white_check_mark: | :white_check_mark: |
crypto_aead_chacha20poly1305_ietf_NPUBBYTES | :white_check_mark: | :white_check_mark: |
crypto_aead_chacha20poly1305_ietf_NSECBYTES | :white_check_mark: | :white_check_mark: |
crypto_aead_xchacha20poly1305_ietf_ABYTES | :white_check_mark: | :small_red_triangle: |
crypto_aead_xchacha20poly1305_ietf_decrypt | :white_check_mark: | :small_red_triangle: |
crypto_aead_xchacha20poly1305_ietf_decrypt_detached | :white_check_mark: | :small_red_triangle: |
crypto_aead_xchacha20poly1305_ietf_encrypt | :white_check_mark: | :small_red_triangle: |
crypto_aead_xchacha20poly1305_ietf_encrypt_detached | :white_check_mark: | :small_red_triangle: |
crypto_aead_xchacha20poly1305_ietf_KEYBYTES | :white_check_mark: | :small_red_triangle: |
crypto_aead_xchacha20poly1305_ietf_keygen | :white_check_mark: | :small_red_triangle: |
crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX | :white_check_mark: | :small_red_triangle: |
crypto_aead_xchacha20poly1305_ietf_NPUBBYTES | :white_check_mark: | :small_red_triangle: |
crypto_aead_xchacha20poly1305_ietf_NSECBYTES | :white_check_mark: | :small_red_triangle: |
crypto_auth | :white_check_mark: | :small_red_triangle: |
crypto_auth_BYTES | :white_check_mark: | :small_red_triangle: |
crypto_auth_KEYBYTES | :white_check_mark: | :small_red_triangle: |
crypto_auth_verify | :white_check_mark: | :small_red_triangle: |
crypto_box_BEFORENMBYTES | :small_red_triangle: | :white_check_mark: |
crypto_box_BOXZEROBYTES | :small_red_triangle: | :white_check_mark: |
crypto_box_detached | :white_check_mark: | :small_red_triangle: |
crypto_box_easy | :white_check_mark: | :small_red_triangle: |
crypto_box_keypair | :white_check_mark: | :white_check_mark: |
crypto_box_MACBYTES | :white_check_mark: | :small_red_triangle: |
crypto_box_NONCEBYTES | :white_check_mark: | :white_check_mark: |
crypto_box_open_detached | :white_check_mark: | :small_red_triangle: |
crypto_box_open_easy | :white_check_mark: | :small_red_triangle: |
crypto_box_PUBLICKEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_box_seal | :white_check_mark: | :white_check_mark: |
crypto_box_seal_open | :white_check_mark: | :white_check_mark: |
crypto_box_SEALBYTES | :white_check_mark: | :white_check_mark: |
crypto_box_SECRETKEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_box_seed_keypair | :white_check_mark: | :white_check_mark: |
crypto_box_SEEDBYTES | :white_check_mark: | :white_check_mark: |
crypto_box_ZEROBYTES | :small_red_triangle: | :white_check_mark: |
crypto_core_ed25519_add | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_BYTES | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_from_uniform | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_is_valid_point | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_NONREDUCEDSCALARBYTES | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_scalar_add | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_scalar_complement | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_scalar_invert | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_scalar_negate | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_scalar_random | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_scalar_reduce | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_scalar_sub | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_SCALARBYTES | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_sub | :white_check_mark: | :small_red_triangle: |
crypto_core_ed25519_UNIFORMBYTES | :white_check_mark: | :small_red_triangle: |
crypto_generichash | :white_check_mark: | :white_check_mark: |
crypto_generichash_BYTES | :white_check_mark: | :white_check_mark: |
crypto_generichash_BYTES_MAX | :white_check_mark: | :white_check_mark: |
crypto_generichash_BYTES_MIN | :white_check_mark: | :white_check_mark: |
crypto_generichash_final | :white_check_mark: | :small_red_triangle: |
crypto_generichash_init | :white_check_mark: | :small_red_triangle: |
crypto_generichash_KEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_generichash_KEYBYTES_MAX | :white_check_mark: | :white_check_mark: |
crypto_generichash_KEYBYTES_MIN | :white_check_mark: | :white_check_mark: |
crypto_generichash_keygen | :white_check_mark: | :small_red_triangle: |
crypto_generichash_STATEBYTES | :white_check_mark: | :small_red_triangle: |
crypto_generichash_update | :white_check_mark: | :small_red_triangle: |
crypto_hash | :white_check_mark: | :white_check_mark: |
crypto_hash_BYTES | :white_check_mark: | :white_check_mark: |
crypto_hash_sha256 | :white_check_mark: | :white_check_mark: |
crypto_hash_sha256_BYTES | :white_check_mark: | :white_check_mark: |
crypto_hash_sha256_final | :white_check_mark: | :small_red_triangle: |
crypto_hash_sha256_init | :white_check_mark: | :small_red_triangle: |
crypto_hash_sha256_STATEBYTES | :white_check_mark: | :small_red_triangle: |
crypto_hash_sha256_update | :white_check_mark: | :small_red_triangle: |
crypto_hash_sha512 | :white_check_mark: | :white_check_mark: |
crypto_hash_sha512_BYTES | :white_check_mark: | :white_check_mark: |
crypto_hash_sha512_final | :white_check_mark: | :small_red_triangle: |
crypto_hash_sha512_init | :white_check_mark: | :small_red_triangle: |
crypto_hash_sha512_STATEBYTES | :white_check_mark: | :small_red_triangle: |
crypto_hash_sha512_update | :white_check_mark: | :small_red_triangle: |
crypto_kdf_BYTES_MAX | :white_check_mark: | :white_check_mark: |
crypto_kdf_BYTES_MIN | :white_check_mark: | :white_check_mark: |
crypto_kdf_CONTEXTBYTES | :white_check_mark: | :white_check_mark: |
crypto_kdf_derive_from_key | :white_check_mark: | :white_check_mark: |
crypto_kdf_KEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_kdf_keygen | :white_check_mark: | :white_check_mark: |
crypto_kx_client_session_keys | :white_check_mark: | :small_red_triangle: |
crypto_kx_keypair | :white_check_mark: | :white_check_mark: |
crypto_kx_PUBLICKEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_kx_SECRETKEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_kx_seed_keypair | :white_check_mark: | :white_check_mark: |
crypto_kx_SEEDBYTES | :white_check_mark: | :white_check_mark: |
crypto_kx_server_session_keys | :white_check_mark: | :small_red_triangle: |
crypto_kx_SESSIONKEYBYTES | :white_check_mark: | :small_red_triangle: |
crypto_onetimeauth | :white_check_mark: | :white_check_mark: |
crypto_onetimeauth_BYTES | :white_check_mark: | :small_red_triangle: |
crypto_onetimeauth_final | :white_check_mark: | :small_red_triangle: |
crypto_onetimeauth_init | :white_check_mark: | :small_red_triangle: |
crypto_onetimeauth_KEYBYTES | :white_check_mark: | :small_red_triangle: |
crypto_onetimeauth_STATEBYTES | :white_check_mark: | :small_red_triangle: |
crypto_onetimeauth_update | :white_check_mark: | :small_red_triangle: |
crypto_onetimeauth_verify | :white_check_mark: | :white_check_mark: |
crypto_pwhash | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_BYTES_MAX | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_BYTES_MIN | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_SALTBYTES | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_scryptsalsa208sha256 | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_scryptsalsa208sha256_BYTES_MAX | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_scryptsalsa208sha256_BYTES_MIN | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_scryptsalsa208sha256_SALTBYTES | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_scryptsalsa208sha256_str | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_scryptsalsa208sha256_str_needs_rehash | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_scryptsalsa208sha256_str_verify | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_scryptsalsa208sha256_STRBYTES | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_str | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_str_needs_rehash | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_str_verify | :white_check_mark: | :small_red_triangle: |
crypto_pwhash_STRBYTES | :white_check_mark: | :small_red_triangle: |
crypto_scalarmult | :white_check_mark: | :white_check_mark: |
crypto_scalarmult_base | :white_check_mark: | :white_check_mark: |
crypto_scalarmult_BYTES | :white_check_mark: | :white_check_mark: |
crypto_scalarmult_ed25519 | :white_check_mark: | :small_red_triangle: |
crypto_scalarmult_ed25519_base | :white_check_mark: | :small_red_triangle: |
crypto_scalarmult_ed25519_base_noclamp | :white_check_mark: | :small_red_triangle: |
crypto_scalarmult_ed25519_BYTES | :white_check_mark: | :small_red_triangle: |
crypto_scalarmult_ed25519_noclamp | :white_check_mark: | :small_red_triangle: |
crypto_scalarmult_ed25519_SCALARBYTES | :white_check_mark: | :small_red_triangle: |
crypto_scalarmult_SCALARBYTES | :white_check_mark: | :white_check_mark: |
crypto_secretbox | :small_red_triangle: | :white_check_mark: |
crypto_secretbox_BOXZEROBYTES | :small_red_triangle: | :white_check_mark: |
crypto_secretbox_detached | :white_check_mark: | :white_check_mark: |
crypto_secretbox_easy | :white_check_mark: | :white_check_mark: |
crypto_secretbox_KEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_secretbox_MACBYTES | :white_check_mark: | :white_check_mark: |
crypto_secretbox_NONCEBYTES | :white_check_mark: | :white_check_mark: |
crypto_secretbox_open | :small_red_triangle: | :white_check_mark: |
crypto_secretbox_open_detached | :white_check_mark: | :white_check_mark: |
crypto_secretbox_open_easy | :white_check_mark: | :white_check_mark: |
crypto_secretbox_ZEROBYTES | :small_red_triangle: | :white_check_mark: |
crypto_secretstream_xchacha20poly1305_ABYTES | :white_check_mark: | :small_red_triangle: |
crypto_secretstream_xchacha20poly1305_HEADERBYTES | :white_check_mark: | :small_red_triangle: |
crypto_secretstream_xchacha20poly1305_init_pull | :white_check_mark: | :small_red_triangle: |
crypto_secretstream_xchacha20poly1305_init_push | :white_check_mark: | :small_red_triangle: |
crypto_secretstream_xchacha20poly1305_KEYBYTES | :white_check_mark: | :small_red_triangle: |
crypto_secretstream_xchacha20poly1305_keygen | :white_check_mark: | :small_red_triangle: |
crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX | :white_check_mark: | :small_red_triangle: |
crypto_secretstream_xchacha20poly1305_pull | :white_check_mark: | :small_red_triangle: |
crypto_secretstream_xchacha20poly1305_push | :white_check_mark: | :small_red_triangle: |
crypto_secretstream_xchacha20poly1305_rekey | :white_check_mark: | :small_red_triangle: |
crypto_secretstream_xchacha20poly1305_STATEBYTES | :white_check_mark: | :small_red_triangle: |
crypto_shorthash | :white_check_mark: | :white_check_mark: |
crypto_shorthash_BYTES | :white_check_mark: | :white_check_mark: |
crypto_shorthash_KEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_sign | :white_check_mark: | :white_check_mark: |
crypto_sign_BYTES | :white_check_mark: | :white_check_mark: |
crypto_sign_detached | :white_check_mark: | :white_check_mark: |
crypto_sign_ed25519_pk_to_curve25519 | :white_check_mark: | :small_red_triangle: |
crypto_sign_ed25519_sk_to_curve25519 | :white_check_mark: | :small_red_triangle: |
crypto_sign_ed25519_sk_to_pk | :white_check_mark: | :small_red_triangle: |
crypto_sign_keypair | :white_check_mark: | :white_check_mark: |
crypto_sign_open | :white_check_mark: | :white_check_mark: |
crypto_sign_PUBLICKEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_sign_SECRETKEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_sign_seed_keypair | :white_check_mark: | :white_check_mark: |
crypto_sign_SEEDBYTES | :white_check_mark: | :white_check_mark: |
crypto_sign_verify_detached | :white_check_mark: | :white_check_mark: |
crypto_stream | :white_check_mark: | :white_check_mark: |
crypto_stream_chacha20 | :white_check_mark: | :white_check_mark: |
crypto_stream_chacha20_ietf | :white_check_mark: | :white_check_mark: |
crypto_stream_chacha20_ietf_KEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX | :white_check_mark: | :white_check_mark: |
crypto_stream_chacha20_ietf_NONCEBYTES | :white_check_mark: | :white_check_mark: |
crypto_stream_chacha20_ietf_xor | :white_check_mark: | :white_check_mark: |
crypto_stream_chacha20_ietf_xor_ic | :white_check_mark: | :white_check_mark: |
crypto_stream_chacha20_KEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_stream_chacha20_MESSAGEBYTES_MAX | :white_check_mark: | :white_check_mark: |
crypto_stream_chacha20_NONCEBYTES | :white_check_mark: | :white_check_mark: |
crypto_stream_chacha20_xor | :white_check_mark: | :white_check_mark: |
crypto_stream_chacha20_xor_ic | :white_check_mark: | :white_check_mark: |
crypto_stream_KEYBYTES | :white_check_mark: | :white_check_mark: |
crypto_stream_NONCEBYTES | :white_check_mark: | :white_check_mark: |
crypto_stream_salsa20_KEYBYTES | :white_check_mark: | :small_red_triangle: |
crypto_stream_salsa20_MESSAGEBYTES_MAX | :white_check_mark: | :small_red_triangle: |
crypto_stream_salsa20_NONCEBYTES | :white_check_mark: | :small_red_triangle: |
crypto_stream_salsa20_xor | :white_check_mark: | :small_red_triangle: |
crypto_stream_salsa20_xor_ic | :white_check_mark: | :small_red_triangle: |
crypto_stream_xchacha20 | :white_check_mark: | :small_red_triangle: |
crypto_stream_xchacha20_KEYBYTES | :white_check_mark: | :small_red_triangle: |
crypto_stream_xchacha20_MESSAGEBYTES_MAX | :white_check_mark: | :small_red_triangle: |
crypto_stream_xchacha20_NONCEBYTES | :white_check_mark: | :small_red_triangle: |
crypto_stream_xchacha20_xor | :white_check_mark: | :small_red_triangle: |
crypto_stream_xchacha20_xor_ic | :white_check_mark: | :small_red_triangle: |
crypto_stream_xor | :white_check_mark: | :white_check_mark: |
crypto_verify_16 | :small_red_triangle: | :white_check_mark: |
crypto_verify_32 | :small_red_triangle: | :white_check_mark: |
randombytes_buf | :white_check_mark: | :white_check_mark: |
randombytes_buf_deterministic | :white_check_mark: | :small_red_triangle: |
randombytes_random | :white_check_mark: | :small_red_triangle: |
randombytes_SEEDBYTES | :white_check_mark: | :small_red_triangle: |
randombytes_uniform | :white_check_mark: | :small_red_triangle: |
sodium_add | :white_check_mark: | :small_red_triangle: |
sodium_compare | :white_check_mark: | :small_red_triangle: |
sodium_free | :white_check_mark: | :small_red_triangle: |
sodium_increment | :white_check_mark: | :small_red_triangle: |
sodium_is_zero | :white_check_mark: | :white_check_mark: |
sodium_malloc | :white_check_mark: | :white_check_mark: |
sodium_memcmp | :white_check_mark: | :white_check_mark: |
sodium_memzero | :white_check_mark: | :white_check_mark: |
sodium_mlock | :white_check_mark: | :small_red_triangle: |
sodium_mprotect_noaccess | :white_check_mark: | :small_red_triangle: |
sodium_mprotect_readonly | :white_check_mark: | :small_red_triangle: |
sodium_mprotect_readwrite | :white_check_mark: | :small_red_triangle: |
sodium_munlock | :white_check_mark: | :small_red_triangle: |
sodium_pad | :white_check_mark: | :small_red_triangle: |
sodium_sub | :white_check_mark: | :small_red_triangle: |
sodium_unpad | :white_check_mark: | :small_red_triangle: |
crypto_aead_aes256gcm_ABYTES
, crypto_aead_aes256gcm_beforenm
, crypto_aead_aes256gcm_decrypt
, crypto_aead_aes256gcm_decrypt_afternm
, crypto_aead_aes256gcm_decrypt_detached
, crypto_aead_aes256gcm_decrypt_detached_afternm
, crypto_aead_aes256gcm_encrypt
, crypto_aead_aes256gcm_encrypt_afternm
, crypto_aead_aes256gcm_encrypt_detached
, crypto_aead_aes256gcm_encrypt_detached_afternm
, crypto_aead_aes256gcm_is_available
, crypto_aead_aes256gcm_KEYBYTES
, crypto_aead_aes256gcm_keygen
, crypto_aead_aes256gcm_MESSAGEBYTES_MAX
, crypto_aead_aes256gcm_NPUBBYTES
, crypto_aead_aes256gcm_NSECBYTES
, crypto_aead_aes256gcm_STATEBYTES
, crypto_aead_chacha20poly1305_ABYTES
, crypto_aead_chacha20poly1305_decrypt
, crypto_aead_chacha20poly1305_decrypt_detached
, crypto_aead_chacha20poly1305_encrypt
, crypto_aead_chacha20poly1305_encrypt_detached
, crypto_aead_chacha20poly1305_KEYBYTES
, crypto_aead_chacha20poly1305_keygen
, crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX
, crypto_aead_chacha20poly1305_NPUBBYTES
, crypto_aead_chacha20poly1305_NSECBYTES
, crypto_auth_hmacsha256
, crypto_auth_hmacsha256_BYTES
, crypto_auth_hmacsha256_final
, crypto_auth_hmacsha256_init
, crypto_auth_hmacsha256_KEYBYTES
, crypto_auth_hmacsha256_keygen
, crypto_auth_hmacsha256_STATEBYTES
, crypto_auth_hmacsha256_update
, crypto_auth_hmacsha256_verify
, crypto_auth_hmacsha512
, crypto_auth_hmacsha512256
, crypto_auth_hmacsha512256_BYTES
, crypto_auth_hmacsha512256_final
, crypto_auth_hmacsha512256_init
, crypto_auth_hmacsha512256_KEYBYTES
, crypto_auth_hmacsha512256_keygen
, crypto_auth_hmacsha512256_STATEBYTES
, crypto_auth_hmacsha512256_update
, crypto_auth_hmacsha512256_verify
, crypto_auth_hmacsha512_BYTES
, crypto_auth_hmacsha512_final
, crypto_auth_hmacsha512_init
, crypto_auth_hmacsha512_KEYBYTES
, crypto_auth_hmacsha512_keygen
, crypto_auth_hmacsha512_STATEBYTES
, crypto_auth_hmacsha512_update
, crypto_auth_hmacsha512_verify
, crypto_auth_keygen
, crypto_auth_primitive
, crypto_box
, crypto_box_afternm
, crypto_box_beforenm
, crypto_box_curve25519xchacha20poly1305_beforenm
, crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES
, crypto_box_curve25519xchacha20poly1305_detached
, crypto_box_curve25519xchacha20poly1305_detached_afternm
, crypto_box_curve25519xchacha20poly1305_easy
, crypto_box_curve25519xchacha20poly1305_easy_afternm
, crypto_box_curve25519xchacha20poly1305_keypair
, crypto_box_curve25519xchacha20poly1305_MACBYTES
, crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX
, crypto_box_curve25519xchacha20poly1305_NONCEBYTES
, crypto_box_curve25519xchacha20poly1305_open_detached
, crypto_box_curve25519xchacha20poly1305_open_detached_afternm
, crypto_box_curve25519xchacha20poly1305_open_easy
, crypto_box_curve25519xchacha20poly1305_open_easy_afternm
, crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES
, crypto_box_curve25519xchacha20poly1305_seal
, crypto_box_curve25519xchacha20poly1305_seal_open
, crypto_box_curve25519xchacha20poly1305_SEALBYTES
, crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES
, crypto_box_curve25519xchacha20poly1305_seed_keypair
, crypto_box_curve25519xchacha20poly1305_SEEDBYTES
, crypto_box_curve25519xsalsa20poly1305
, crypto_box_curve25519xsalsa20poly1305_afternm
, crypto_box_curve25519xsalsa20poly1305_beforenm
, crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES
, crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES
, crypto_box_curve25519xsalsa20poly1305_keypair
, crypto_box_curve25519xsalsa20poly1305_MACBYTES
, crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX
, crypto_box_curve25519xsalsa20poly1305_NONCEBYTES
, crypto_box_curve25519xsalsa20poly1305_open
, crypto_box_curve25519xsalsa20poly1305_open_afternm
, crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES
, crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES
, crypto_box_curve25519xsalsa20poly1305_seed_keypair
, crypto_box_curve25519xsalsa20poly1305_SEEDBYTES
, crypto_box_curve25519xsalsa20poly1305_ZEROBYTES
, crypto_box_detached_afternm
, crypto_box_easy_afternm
, crypto_box_MESSAGEBYTES_MAX
, crypto_box_open
, crypto_box_open_afternm
, crypto_box_open_detached_afternm
, crypto_box_open_easy_afternm
, crypto_box_primitive
, crypto_core_ed25519_from_hash
, crypto_core_ed25519_HASHBYTES
, crypto_core_ed25519_random
, crypto_core_ed25519_scalar_mul
, crypto_core_hchacha20
, crypto_core_hchacha20_CONSTBYTES
, crypto_core_hchacha20_INPUTBYTES
, crypto_core_hchacha20_KEYBYTES
, crypto_core_hchacha20_OUTPUTBYTES
, crypto_core_hsalsa20
, crypto_core_hsalsa20_CONSTBYTES
, crypto_core_hsalsa20_INPUTBYTES
, crypto_core_hsalsa20_KEYBYTES
, crypto_core_hsalsa20_OUTPUTBYTES
, crypto_core_ristretto255_add
, crypto_core_ristretto255_BYTES
, crypto_core_ristretto255_from_hash
, crypto_core_ristretto255_HASHBYTES
, crypto_core_ristretto255_is_valid_point
, crypto_core_ristretto255_NONREDUCEDSCALARBYTES
, crypto_core_ristretto255_random
, crypto_core_ristretto255_scalar_add
, crypto_core_ristretto255_scalar_complement
, crypto_core_ristretto255_scalar_invert
, crypto_core_ristretto255_scalar_mul
, crypto_core_ristretto255_scalar_negate
, crypto_core_ristretto255_scalar_random
, crypto_core_ristretto255_scalar_reduce
, crypto_core_ristretto255_scalar_sub
, crypto_core_ristretto255_SCALARBYTES
, crypto_core_ristretto255_sub
, crypto_core_salsa20
, crypto_core_salsa2012
, crypto_core_salsa2012_CONSTBYTES
, crypto_core_salsa2012_INPUTBYTES
, crypto_core_salsa2012_KEYBYTES
, crypto_core_salsa2012_OUTPUTBYTES
, crypto_core_salsa208
, crypto_core_salsa208_CONSTBYTES
, crypto_core_salsa208_INPUTBYTES
, crypto_core_salsa208_KEYBYTES
, crypto_core_salsa208_OUTPUTBYTES
, crypto_core_salsa20_CONSTBYTES
, crypto_core_salsa20_INPUTBYTES
, crypto_core_salsa20_KEYBYTES
, crypto_core_salsa20_OUTPUTBYTES
, crypto_generichash_blake2b
, crypto_generichash_blake2b_BYTES
, crypto_generichash_blake2b_BYTES_MAX
, crypto_generichash_blake2b_BYTES_MIN
, crypto_generichash_blake2b_final
, crypto_generichash_blake2b_init
, crypto_generichash_blake2b_init_salt_personal
, crypto_generichash_blake2b_KEYBYTES
, crypto_generichash_blake2b_KEYBYTES_MAX
, crypto_generichash_blake2b_KEYBYTES_MIN
, crypto_generichash_blake2b_keygen
, crypto_generichash_blake2b_PERSONALBYTES
, crypto_generichash_blake2b_salt_personal
, crypto_generichash_blake2b_SALTBYTES
, crypto_generichash_blake2b_STATEBYTES
, crypto_generichash_blake2b_update
, crypto_generichash_primitive
, crypto_hash_primitive
, crypto_kdf_blake2b_BYTES_MAX
, crypto_kdf_blake2b_BYTES_MIN
, crypto_kdf_blake2b_CONTEXTBYTES
, crypto_kdf_blake2b_derive_from_key
, crypto_kdf_blake2b_KEYBYTES
, crypto_kdf_primitive
, crypto_kx_primitive
, crypto_onetimeauth_keygen
, crypto_onetimeauth_poly1305
, crypto_onetimeauth_poly1305_BYTES
, crypto_onetimeauth_poly1305_final
, crypto_onetimeauth_poly1305_init
, crypto_onetimeauth_poly1305_KEYBYTES
, crypto_onetimeauth_poly1305_keygen
, crypto_onetimeauth_poly1305_STATEBYTES
, crypto_onetimeauth_poly1305_update
, crypto_onetimeauth_poly1305_verify
, crypto_onetimeauth_primitive
, crypto_pwhash_alg_argon2i13
, crypto_pwhash_alg_argon2id13
, crypto_pwhash_alg_default
, crypto_pwhash_argon2i
, crypto_pwhash_argon2i_alg_argon2i13
, crypto_pwhash_argon2i_BYTES_MAX
, crypto_pwhash_argon2i_BYTES_MIN
, crypto_pwhash_argon2i_memlimit_interactive
, crypto_pwhash_argon2i_memlimit_max
, crypto_pwhash_argon2i_memlimit_min
, crypto_pwhash_argon2i_memlimit_moderate
, crypto_pwhash_argon2i_memlimit_sensitive
, crypto_pwhash_argon2i_opslimit_interactive
, crypto_pwhash_argon2i_opslimit_max
, crypto_pwhash_argon2i_opslimit_min
, crypto_pwhash_argon2i_opslimit_moderate
, crypto_pwhash_argon2i_opslimit_sensitive
, crypto_pwhash_argon2i_passwd_max
, crypto_pwhash_argon2i_passwd_min
, crypto_pwhash_argon2i_SALTBYTES
, crypto_pwhash_argon2i_str
, crypto_pwhash_argon2i_str_needs_rehash
, crypto_pwhash_argon2i_str_verify
, crypto_pwhash_argon2i_STRBYTES
, crypto_pwhash_argon2i_strprefix
, crypto_pwhash_argon2id
, crypto_pwhash_argon2id_alg_argon2id13
, crypto_pwhash_argon2id_BYTES_MAX
, crypto_pwhash_argon2id_BYTES_MIN
, crypto_pwhash_argon2id_memlimit_interactive
, crypto_pwhash_argon2id_memlimit_max
, crypto_pwhash_argon2id_memlimit_min
, crypto_pwhash_argon2id_memlimit_moderate
, crypto_pwhash_argon2id_memlimit_sensitive
, crypto_pwhash_argon2id_opslimit_interactive
, crypto_pwhash_argon2id_opslimit_max
, crypto_pwhash_argon2id_opslimit_min
, crypto_pwhash_argon2id_opslimit_moderate
, crypto_pwhash_argon2id_opslimit_sensitive
, crypto_pwhash_argon2id_passwd_max
, crypto_pwhash_argon2id_passwd_min
, crypto_pwhash_argon2id_SALTBYTES
, crypto_pwhash_argon2id_str
, crypto_pwhash_argon2id_str_needs_rehash
, crypto_pwhash_argon2id_str_verify
, crypto_pwhash_argon2id_STRBYTES
, crypto_pwhash_argon2id_strprefix
, crypto_pwhash_memlimit_interactive
, crypto_pwhash_memlimit_max
, crypto_pwhash_memlimit_min
, crypto_pwhash_memlimit_moderate
, crypto_pwhash_memlimit_sensitive
, crypto_pwhash_opslimit_interactive
, crypto_pwhash_opslimit_max
, crypto_pwhash_opslimit_min
, crypto_pwhash_opslimit_moderate
, crypto_pwhash_opslimit_sensitive
, crypto_pwhash_passwd_max
, crypto_pwhash_passwd_min
, crypto_pwhash_primitive
, crypto_pwhash_scryptsalsa208sha256_ll
, crypto_pwhash_scryptsalsa208sha256_memlimit_interactive
, crypto_pwhash_scryptsalsa208sha256_memlimit_max
, crypto_pwhash_scryptsalsa208sha256_memlimit_min
, crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive
, crypto_pwhash_scryptsalsa208sha256_opslimit_interactive
, crypto_pwhash_scryptsalsa208sha256_opslimit_max
, crypto_pwhash_scryptsalsa208sha256_opslimit_min
, crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive
, crypto_pwhash_scryptsalsa208sha256_passwd_max
, crypto_pwhash_scryptsalsa208sha256_passwd_min
, crypto_pwhash_scryptsalsa208sha256_strprefix
, crypto_pwhash_str_alg
, crypto_pwhash_strprefix
, crypto_scalarmult_curve25519
, crypto_scalarmult_curve25519_base
, crypto_scalarmult_curve25519_BYTES
, crypto_scalarmult_curve25519_SCALARBYTES
, crypto_scalarmult_primitive
, crypto_scalarmult_ristretto255
, crypto_scalarmult_ristretto255_base
, crypto_scalarmult_ristretto255_BYTES
, crypto_scalarmult_ristretto255_SCALARBYTES
, crypto_secretbox_keygen
, crypto_secretbox_MESSAGEBYTES_MAX
, crypto_secretbox_primitive
, crypto_secretbox_xchacha20poly1305_detached
, crypto_secretbox_xchacha20poly1305_easy
, crypto_secretbox_xchacha20poly1305_KEYBYTES
, crypto_secretbox_xchacha20poly1305_MACBYTES
, crypto_secretbox_xchacha20poly1305_MESSAGEBYTES_MAX
, crypto_secretbox_xchacha20poly1305_NONCEBYTES
, crypto_secretbox_xchacha20poly1305_open_detached
, crypto_secretbox_xchacha20poly1305_open_easy
, crypto_secretbox_xsalsa20poly1305
, crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES
, crypto_secretbox_xsalsa20poly1305_KEYBYTES
, crypto_secretbox_xsalsa20poly1305_keygen
, crypto_secretbox_xsalsa20poly1305_MACBYTES
, crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX
, crypto_secretbox_xsalsa20poly1305_NONCEBYTES
, crypto_secretbox_xsalsa20poly1305_open
, crypto_secretbox_xsalsa20poly1305_ZEROBYTES
, crypto_secretstream_xchacha20poly1305_tag_final
, crypto_secretstream_xchacha20poly1305_tag_message
, crypto_secretstream_xchacha20poly1305_tag_push
, crypto_secretstream_xchacha20poly1305_tag_rekey
, crypto_shorthash_keygen
, crypto_shorthash_primitive
, crypto_shorthash_siphash24
, crypto_shorthash_siphash24_BYTES
, crypto_shorthash_siphash24_KEYBYTES
, crypto_shorthash_siphashx24
, crypto_shorthash_siphashx24_BYTES
, crypto_shorthash_siphashx24_KEYBYTES
, crypto_sign_ed25519
, crypto_sign_ed25519_BYTES
, crypto_sign_ed25519_detached
, crypto_sign_ed25519_keypair
, crypto_sign_ed25519_MESSAGEBYTES_MAX
, crypto_sign_ed25519_open
, crypto_sign_ed25519_PUBLICKEYBYTES
, crypto_sign_ed25519_SECRETKEYBYTES
, crypto_sign_ed25519_seed_keypair
, crypto_sign_ed25519_SEEDBYTES
, crypto_sign_ed25519_sk_to_seed
, crypto_sign_ed25519_verify_detached
, crypto_sign_ed25519ph_final_create
, crypto_sign_ed25519ph_final_verify
, crypto_sign_ed25519ph_init
, crypto_sign_ed25519ph_STATEBYTES
, crypto_sign_ed25519ph_update
, crypto_sign_edwards25519sha512batch
, crypto_sign_edwards25519sha512batch_keypair
, crypto_sign_edwards25519sha512batch_open
, crypto_sign_final_create
, crypto_sign_final_verify
, crypto_sign_init
, crypto_sign_MESSAGEBYTES_MAX
, crypto_sign_primitive
, crypto_sign_STATEBYTES
, crypto_sign_update
, crypto_stream_chacha20_ietf_keygen
, crypto_stream_chacha20_keygen
, crypto_stream_keygen
, crypto_stream_MESSAGEBYTES_MAX
, crypto_stream_primitive
, crypto_stream_salsa20
, crypto_stream_salsa2012
, crypto_stream_salsa2012_KEYBYTES
, crypto_stream_salsa2012_keygen
, crypto_stream_salsa2012_MESSAGEBYTES_MAX
, crypto_stream_salsa2012_NONCEBYTES
, crypto_stream_salsa2012_xor
, crypto_stream_salsa208
, crypto_stream_salsa208_KEYBYTES
, crypto_stream_salsa208_keygen
, crypto_stream_salsa208_MESSAGEBYTES_MAX
, crypto_stream_salsa208_NONCEBYTES
, crypto_stream_salsa208_xor
, crypto_stream_salsa20_keygen
, crypto_stream_xchacha20_keygen
, crypto_stream_xsalsa20
, crypto_stream_xsalsa20_KEYBYTES
, crypto_stream_xsalsa20_keygen
, crypto_stream_xsalsa20_MESSAGEBYTES_MAX
, crypto_stream_xsalsa20_NONCEBYTES
, crypto_stream_xsalsa20_xor
, crypto_stream_xsalsa20_xor_ic
, crypto_verify_16_BYTES
, crypto_verify_32_BYTES
, crypto_verify_64
, crypto_verify_64_BYTES
, randombytes
, randombytes_close
, randombytes_implementation_name
, randombytes_internal_implementation
, randombytes_set_implementation
, randombytes_stir
, randombytes_sysrandom_implementation
, sodium_allocarray
, sodium_base642bin
, sodium_base64_encoded_len
, sodium_bin2base64
, sodium_bin2hex
, sodium_hex2bin
, sodium_init
, sodium_library_minimal
, sodium_library_version_major
, sodium_library_version_minor
, sodium_misuse
, sodium_runtime_has_aesni
, sodium_runtime_has_avx
, sodium_runtime_has_avx2
, sodium_runtime_has_avx512f
, sodium_runtime_has_neon
, sodium_runtime_has_pclmul
, sodium_runtime_has_rdrand
, sodium_runtime_has_sse2
, sodium_runtime_has_sse3
, sodium_runtime_has_sse41
, sodium_runtime_has_ssse3
, sodium_set_misuse_handler
, sodium_stackzero
, sodium_version_string
FAQs
Universal wrapper for sodium-javascript and sodium-native working in Node.js and the Browser
The npm package sodium-universal receives a total of 4,818 weekly downloads. As such, sodium-universal popularity was classified as popular.
We found that sodium-universal demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.