-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathNativeEncryption.ts
More file actions
59 lines (51 loc) · 1.74 KB
/
NativeEncryption.ts
File metadata and controls
59 lines (51 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import type { TurboModule } from 'react-native';
import { TurboModuleRegistry } from 'react-native';
export interface keypair {
publicKey: string;
privateKey: string;
}
export type RSAPadding = 'PKCS1' | 'OAEP';
export interface Spec extends TurboModule {
generateAESKey(keySize: number): string;
encryptAES(data: string, key: string): string;
decryptAES(data: string, key: string): string;
encryptFile(
inputPath: string,
outputPath: string,
key: string
): Promise<string>;
decryptFile(inputPath: string, key: string): Promise<string>;
encryptAsyncAES(data: string, key: string): Promise<string>;
decryptAsyncAES(data: string, key: string): Promise<string>;
generateRSAKeyPair(): keypair;
getPublicRSAkey(privateRSAkey: string): string;
encryptRSA(data: string, publicKey: string, padding: string): string;
decryptRSA(data: string, privateKey: string, padding: string): string;
encryptAsyncRSA(
data: string,
publicKey: string,
padding: string
): Promise<string>;
decryptAsyncRSA(
data: string,
privateKey: string,
padding: string
): Promise<string>;
hashSHA256(input: string): string;
hashSHA512(input: string): string;
generateHMACKey(keySize: number): string;
hmacSHA256(data: string, key: string): string;
hmacSHA512(data: string, key: string): string;
generateRandomString(input: number): string;
base64Encode(input: string): string;
base64Decode(input: string): string;
generateECDSAKeyPair(): keypair;
getPublicECDSAKey(privateECDAkey: string): string;
signDataECDSA(data: string, key: string): string;
verifySignatureECDSA(
data: string,
signatureBase64: string,
key: string
): boolean;
}
export default TurboModuleRegistry.getEnforcing<Spec>('Encryption');