added encryption
This commit is contained in:
80
src/lib/libsodium.d.ts
vendored
Normal file
80
src/lib/libsodium.d.ts
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
declare module 'libsodium-wrappers' {
|
||||
interface SodiumPlus {
|
||||
ready: Promise<void>
|
||||
|
||||
// Random bytes
|
||||
randombytes_buf(length: number): Uint8Array
|
||||
|
||||
// Secret-box (XSalsa20-Poly1305) — "_easy" variants
|
||||
crypto_secretbox_easy(
|
||||
message: Uint8Array,
|
||||
nonce: Uint8Array,
|
||||
key: Uint8Array
|
||||
): Uint8Array
|
||||
/** Throws on failure (wrong key / corrupted ciphertext) */
|
||||
crypto_secretbox_open_easy(
|
||||
ciphertext: Uint8Array,
|
||||
nonce: Uint8Array,
|
||||
key: Uint8Array
|
||||
): Uint8Array
|
||||
crypto_secretbox_keygen(): Uint8Array
|
||||
|
||||
// Box (X25519 + XSalsa20-Poly1305)
|
||||
crypto_box_easy(
|
||||
message: Uint8Array,
|
||||
nonce: Uint8Array,
|
||||
publicKey: Uint8Array,
|
||||
secretKey: Uint8Array
|
||||
): Uint8Array
|
||||
crypto_box_open_easy(
|
||||
ciphertext: Uint8Array,
|
||||
nonce: Uint8Array,
|
||||
publicKey: Uint8Array,
|
||||
secretKey: Uint8Array
|
||||
): Uint8Array
|
||||
crypto_box_keypair(): { publicKey: Uint8Array; privateKey: Uint8Array; keyType: string }
|
||||
|
||||
// Password hashing
|
||||
crypto_pwhash(
|
||||
outlen: number,
|
||||
passwd: string,
|
||||
salt: Uint8Array,
|
||||
opslimit: number,
|
||||
memlimit: number,
|
||||
alg: number
|
||||
): Uint8Array
|
||||
|
||||
// Encoding helpers
|
||||
to_base64(data: Uint8Array, variant?: number): string
|
||||
from_base64(data: string, variant?: number): Uint8Array
|
||||
to_string(data: Uint8Array): string
|
||||
from_string(data: string): Uint8Array
|
||||
to_hex(data: Uint8Array): string
|
||||
from_hex(data: string): Uint8Array
|
||||
|
||||
// Base64 variant constants
|
||||
base64_variants: {
|
||||
ORIGINAL: number
|
||||
ORIGINAL_NO_PADDING: number
|
||||
URLSAFE: number
|
||||
URLSAFE_NO_PADDING: number
|
||||
}
|
||||
|
||||
// Constants
|
||||
crypto_pwhash_SALTBYTES: number
|
||||
crypto_pwhash_OPSLIMIT_SENSITIVE: number
|
||||
crypto_pwhash_MEMLIMIT_SENSITIVE: number
|
||||
crypto_pwhash_OPSLIMIT_MODERATE: number
|
||||
crypto_pwhash_MEMLIMIT_MODERATE: number
|
||||
crypto_pwhash_ALG_DEFAULT: number
|
||||
crypto_secretbox_NONCEBYTES: number
|
||||
crypto_secretbox_KEYBYTES: number
|
||||
crypto_secretbox_MACBYTES: number
|
||||
crypto_box_NONCEBYTES: number
|
||||
crypto_box_PUBLICKEYBYTES: number
|
||||
crypto_box_SECRETKEYBYTES: number
|
||||
}
|
||||
|
||||
const sodium: SodiumPlus
|
||||
export default sodium
|
||||
}
|
||||
Reference in New Issue
Block a user