react-native-quick-crypto
Version:
A fast implementation of Node's `crypto` module written in C/C++ JSI
54 lines • 2.47 kB
TypeScript
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