UNPKG

react-native-quick-crypto

Version:

A fast implementation of Node's `crypto` module written in C/C++ JSI

54 lines 2.47 kB
import type { HybridObject } from 'react-native-nitro-modules'; import type { KeyObjectHandle } from './keyObjectHandle.nitro'; export interface RsaCipher extends HybridObject<{ ios: 'c++'; android: 'c++'; }> { /** * Encrypt data using RSA with specified padding * @param keyHandle The public key handle * @param data The data to encrypt * @param padding RSA padding mode (1=PKCS1, 4=OAEP) * @param hashAlgorithm The hash algorithm for OAEP (e.g., 'SHA-256') * @param label Optional label for OAEP * @returns Encrypted data */ encrypt(keyHandle: KeyObjectHandle, data: ArrayBuffer, padding: number, hashAlgorithm: string, label?: ArrayBuffer): ArrayBuffer; /** * Decrypt data using RSA with specified padding * @param keyHandle The private key handle * @param data The data to decrypt * @param padding RSA padding mode (1=PKCS1, 4=OAEP) * @param hashAlgorithm The hash algorithm for OAEP (e.g., 'SHA-256') * @param label Optional label for OAEP * @returns Decrypted data */ decrypt(keyHandle: KeyObjectHandle, data: ArrayBuffer, padding: number, hashAlgorithm: string, label?: ArrayBuffer): ArrayBuffer; /** * Decrypt data using public key (inverse of privateEncrypt, for signature verification) * @param keyHandle The public key handle * @param data The data to decrypt * @param padding RSA padding mode (1=PKCS1) * @returns Decrypted data */ publicDecrypt(keyHandle: KeyObjectHandle, data: ArrayBuffer, padding: number): ArrayBuffer; /** * Encrypt data using private key (for signatures) * @param keyHandle The private key handle * @param data The data to encrypt * @param padding RSA padding mode (1=PKCS1) * @returns Encrypted data */ privateEncrypt(keyHandle: KeyObjectHandle, data: ArrayBuffer, padding: number): ArrayBuffer; /** * Decrypt data using private key (inverse of publicEncrypt) * @param keyHandle The private key handle * @param data The data to decrypt * @param padding RSA padding mode (1=PKCS1, 4=OAEP) * @param hashAlgorithm The hash algorithm for OAEP (e.g., 'SHA-256') * @param label Optional label for OAEP * @returns Decrypted data */ privateDecrypt(keyHandle: KeyObjectHandle, data: ArrayBuffer, padding: number, hashAlgorithm: string, label?: ArrayBuffer): ArrayBuffer; } //# sourceMappingURL=rsaCipher.nitro.d.ts.map