Files
pezkuwi-common/packages/util-crypto/src/nacl/encrypt.ts
T
pezkuwichain a5542fdd87 Rebrand: polkadot → pezkuwi internal references fixed
- Fixed internal @polkadot references to @pezkuwi
- Updated hw-ledger and hw-ledger-transports packages
- Updated keyring and networks packages
- Version 14.0.7
2026-01-07 02:34:39 +03:00

32 lines
871 B
TypeScript

// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { randomAsU8a } from '../random/asU8a.js';
import { naclSecretbox } from './tweetnacl.js';
interface Encrypted {
encrypted: Uint8Array;
nonce: Uint8Array;
}
/**
* @name naclEncrypt
* @summary Encrypts a message using the supplied secretKey and nonce
* @description
* Returns an encrypted message, using the `secretKey` and `nonce`. If the `nonce` was not supplied, a random value is generated.
* @example
* <BR>
*
* ```javascript
* import { naclEncrypt } from '@pezkuwi/util-crypto';
*
* naclEncrypt([...], [...]); // => [...]
* ```
*/
export function naclEncrypt (message: Uint8Array, secret: Uint8Array, nonce: Uint8Array = randomAsU8a(24)): Encrypted {
return {
encrypted: naclSecretbox(message, nonce, secret),
nonce
};
}