@onekeyfe/react-native-aes-crypto 3.0.8 → 3.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/aescrypto/AesCryptoModule.kt +7 -7
- package/ios/AesCrypto.mm +6 -6
- package/lib/module/index.js +10 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +10 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +11 -0
|
@@ -148,7 +148,7 @@ class AesCryptoModule(reactContext: ReactApplicationContext) :
|
|
|
148
148
|
|
|
149
149
|
private fun shaX(data: String, algorithm: String): String {
|
|
150
150
|
val md = MessageDigest.getInstance(algorithm)
|
|
151
|
-
md.update(
|
|
151
|
+
md.update(Hex.decode(data))
|
|
152
152
|
return bytesToHex(md.digest())
|
|
153
153
|
}
|
|
154
154
|
|
|
@@ -160,13 +160,13 @@ class AesCryptoModule(reactContext: ReactApplicationContext) :
|
|
|
160
160
|
else -> SHA512Digest()
|
|
161
161
|
}
|
|
162
162
|
val gen = PKCS5S2ParametersGenerator(algorithmDigest)
|
|
163
|
-
gen.init(
|
|
163
|
+
gen.init(Hex.decode(pwd), Hex.decode(salt), cost)
|
|
164
164
|
val key = (gen.generateDerivedParameters(length) as KeyParameter).key
|
|
165
165
|
return bytesToHex(key)
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
private fun hmacX(text: String, key: String, algorithm: String): String {
|
|
169
|
-
val contentData =
|
|
169
|
+
val contentData = Hex.decode(text)
|
|
170
170
|
val akHexData = Hex.decode(key)
|
|
171
171
|
val mac = Mac.getInstance(algorithm)
|
|
172
172
|
val secretKey = SecretKeySpec(akHexData, algorithm)
|
|
@@ -182,8 +182,8 @@ class AesCryptoModule(reactContext: ReactApplicationContext) :
|
|
|
182
182
|
val cipher = Cipher.getInstance(algorithm)
|
|
183
183
|
val ivSpec = if (hexIv == null || hexIv.isEmpty()) emptyIvSpec else IvParameterSpec(Hex.decode(hexIv))
|
|
184
184
|
cipher.init(Cipher.ENCRYPT_MODE, secretKey, ivSpec)
|
|
185
|
-
val encrypted = cipher.doFinal(
|
|
186
|
-
return
|
|
185
|
+
val encrypted = cipher.doFinal(Hex.decode(text))
|
|
186
|
+
return bytesToHex(encrypted)
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
private fun decryptImpl(ciphertext: String, hexKey: String, hexIv: String?, algorithm: String): String? {
|
|
@@ -194,7 +194,7 @@ class AesCryptoModule(reactContext: ReactApplicationContext) :
|
|
|
194
194
|
val cipher = Cipher.getInstance(algorithm)
|
|
195
195
|
val ivSpec = if (hexIv == null || hexIv.isEmpty()) emptyIvSpec else IvParameterSpec(Hex.decode(hexIv))
|
|
196
196
|
cipher.init(Cipher.DECRYPT_MODE, secretKey, ivSpec)
|
|
197
|
-
val decrypted = cipher.doFinal(
|
|
198
|
-
return
|
|
197
|
+
val decrypted = cipher.doFinal(Hex.decode(ciphertext))
|
|
198
|
+
return bytesToHex(decrypted)
|
|
199
199
|
}
|
|
200
200
|
}
|
package/ios/AesCrypto.mm
CHANGED
|
@@ -234,11 +234,11 @@ static NSData *aesCTR(NSString *operation, NSData *inputData, NSString *key, NSS
|
|
|
234
234
|
|
|
235
235
|
int status = CCKeyDerivationPBKDF(
|
|
236
236
|
kCCPBKDF2,
|
|
237
|
-
passwordData.bytes, passwordData.length,
|
|
238
|
-
saltData.bytes, saltData.length,
|
|
237
|
+
(const char *)passwordData.bytes, passwordData.length,
|
|
238
|
+
(const uint8_t *)saltData.bytes, saltData.length,
|
|
239
239
|
prf,
|
|
240
240
|
(unsigned int)cost,
|
|
241
|
-
hashKeyData.mutableBytes, hashKeyData.length);
|
|
241
|
+
(uint8_t *)hashKeyData.mutableBytes, hashKeyData.length);
|
|
242
242
|
|
|
243
243
|
if (status == kCCParamError) {
|
|
244
244
|
reject(@"keygen_fail", @"Key derivation parameter error", nil);
|
|
@@ -321,7 +321,7 @@ static NSData *aesCTR(NSString *operation, NSData *inputData, NSString *key, NSS
|
|
|
321
321
|
@try {
|
|
322
322
|
NSData *inputData = fromHex(text);
|
|
323
323
|
NSMutableData *result = [[NSMutableData alloc] initWithLength:CC_SHA1_DIGEST_LENGTH];
|
|
324
|
-
CC_SHA1(inputData.bytes, (CC_LONG)inputData.length, result.mutableBytes);
|
|
324
|
+
CC_SHA1((const void *)inputData.bytes, (CC_LONG)inputData.length, (unsigned char *)result.mutableBytes);
|
|
325
325
|
resolve(toHex(result));
|
|
326
326
|
} @catch (NSException *exception) {
|
|
327
327
|
reject(@"sha1_fail", exception.reason, nil);
|
|
@@ -343,7 +343,7 @@ static NSData *aesCTR(NSString *operation, NSData *inputData, NSString *key, NSS
|
|
|
343
343
|
reject(@"sha256_fail", @"Memory allocation error", nil);
|
|
344
344
|
return;
|
|
345
345
|
}
|
|
346
|
-
CC_SHA256(inputData.bytes, (CC_LONG)inputData.length, buffer);
|
|
346
|
+
CC_SHA256((const void *)inputData.bytes, (CC_LONG)inputData.length, buffer);
|
|
347
347
|
NSData *result = [NSData dataWithBytesNoCopy:buffer
|
|
348
348
|
length:CC_SHA256_DIGEST_LENGTH
|
|
349
349
|
freeWhenDone:YES];
|
|
@@ -368,7 +368,7 @@ static NSData *aesCTR(NSString *operation, NSData *inputData, NSString *key, NSS
|
|
|
368
368
|
reject(@"sha512_fail", @"Memory allocation error", nil);
|
|
369
369
|
return;
|
|
370
370
|
}
|
|
371
|
-
CC_SHA512(inputData.bytes, (CC_LONG)inputData.length, buffer);
|
|
371
|
+
CC_SHA512((const void *)inputData.bytes, (CC_LONG)inputData.length, buffer);
|
|
372
372
|
NSData *result = [NSData dataWithBytesNoCopy:buffer
|
|
373
373
|
length:CC_SHA512_DIGEST_LENGTH
|
|
374
374
|
freeWhenDone:YES];
|
package/lib/module/index.js
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import NativeAesCrypto from "./NativeAesCrypto.js";
|
|
4
|
+
export const encrypt = NativeAesCrypto.encrypt.bind(NativeAesCrypto);
|
|
5
|
+
export const decrypt = NativeAesCrypto.decrypt.bind(NativeAesCrypto);
|
|
6
|
+
export const pbkdf2 = NativeAesCrypto.pbkdf2.bind(NativeAesCrypto);
|
|
7
|
+
export const hmac256 = NativeAesCrypto.hmac256.bind(NativeAesCrypto);
|
|
8
|
+
export const hmac512 = NativeAesCrypto.hmac512.bind(NativeAesCrypto);
|
|
9
|
+
export const sha1 = NativeAesCrypto.sha1.bind(NativeAesCrypto);
|
|
10
|
+
export const sha256 = NativeAesCrypto.sha256.bind(NativeAesCrypto);
|
|
11
|
+
export const sha512 = NativeAesCrypto.sha512.bind(NativeAesCrypto);
|
|
12
|
+
export const randomUuid = NativeAesCrypto.randomUuid.bind(NativeAesCrypto);
|
|
13
|
+
export const randomKey = NativeAesCrypto.randomKey.bind(NativeAesCrypto);
|
|
4
14
|
export default NativeAesCrypto;
|
|
5
15
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeAesCrypto"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,eAAe,MAAM,sBAAmB;AAE/C,eAAeA,eAAe","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NativeAesCrypto","encrypt","bind","decrypt","pbkdf2","hmac256","hmac512","sha1","sha256","sha512","randomUuid","randomKey"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,eAAe,MAAM,sBAAmB;AAE/C,OAAO,MAAMC,OAAO,GAAGD,eAAe,CAACC,OAAO,CAACC,IAAI,CAACF,eAAe,CAAC;AACpE,OAAO,MAAMG,OAAO,GAAGH,eAAe,CAACG,OAAO,CAACD,IAAI,CAACF,eAAe,CAAC;AACpE,OAAO,MAAMI,MAAM,GAAGJ,eAAe,CAACI,MAAM,CAACF,IAAI,CAACF,eAAe,CAAC;AAClE,OAAO,MAAMK,OAAO,GAAGL,eAAe,CAACK,OAAO,CAACH,IAAI,CAACF,eAAe,CAAC;AACpE,OAAO,MAAMM,OAAO,GAAGN,eAAe,CAACM,OAAO,CAACJ,IAAI,CAACF,eAAe,CAAC;AACpE,OAAO,MAAMO,IAAI,GAAGP,eAAe,CAACO,IAAI,CAACL,IAAI,CAACF,eAAe,CAAC;AAC9D,OAAO,MAAMQ,MAAM,GAAGR,eAAe,CAACQ,MAAM,CAACN,IAAI,CAACF,eAAe,CAAC;AAClE,OAAO,MAAMS,MAAM,GAAGT,eAAe,CAACS,MAAM,CAACP,IAAI,CAACF,eAAe,CAAC;AAClE,OAAO,MAAMU,UAAU,GAAGV,eAAe,CAACU,UAAU,CAACR,IAAI,CAACF,eAAe,CAAC;AAC1E,OAAO,MAAMW,SAAS,GAAGX,eAAe,CAACW,SAAS,CAACT,IAAI,CAACF,eAAe,CAAC;AAExE,eAAeA,eAAe","ignoreList":[]}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import NativeAesCrypto from './NativeAesCrypto';
|
|
2
|
+
export declare const encrypt: (data: string, key: string, iv: string, algorithm: string) => Promise<string>;
|
|
3
|
+
export declare const decrypt: (base64: string, key: string, iv: string, algorithm: string) => Promise<string>;
|
|
4
|
+
export declare const pbkdf2: (password: string, salt: string, cost: number, length: number, algorithm: string) => Promise<string>;
|
|
5
|
+
export declare const hmac256: (base64: string, key: string) => Promise<string>;
|
|
6
|
+
export declare const hmac512: (base64: string, key: string) => Promise<string>;
|
|
7
|
+
export declare const sha1: (text: string) => Promise<string>;
|
|
8
|
+
export declare const sha256: (text: string) => Promise<string>;
|
|
9
|
+
export declare const sha512: (text: string) => Promise<string>;
|
|
10
|
+
export declare const randomUuid: () => Promise<string>;
|
|
11
|
+
export declare const randomKey: (length: number) => Promise<string>;
|
|
2
12
|
export default NativeAesCrypto;
|
|
3
13
|
export type { Spec as AesCryptoSpec } from './NativeAesCrypto';
|
|
4
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,eAAe,eAAe,CAAC;AAC/B,YAAY,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,eAAO,MAAM,OAAO,+EAAgD,CAAC;AACrE,eAAO,MAAM,OAAO,iFAAgD,CAAC;AACrE,eAAO,MAAM,MAAM,sGAA+C,CAAC;AACnE,eAAO,MAAM,OAAO,kDAAgD,CAAC;AACrE,eAAO,MAAM,OAAO,kDAAgD,CAAC;AACrE,eAAO,MAAM,IAAI,mCAA6C,CAAC;AAC/D,eAAO,MAAM,MAAM,mCAA+C,CAAC;AACnE,eAAO,MAAM,MAAM,mCAA+C,CAAC;AACnE,eAAO,MAAM,UAAU,uBAAmD,CAAC;AAC3E,eAAO,MAAM,SAAS,qCAAkD,CAAC;AAEzE,eAAe,eAAe,CAAC;AAC/B,YAAY,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import NativeAesCrypto from './NativeAesCrypto';
|
|
2
2
|
|
|
3
|
+
export const encrypt = NativeAesCrypto.encrypt.bind(NativeAesCrypto);
|
|
4
|
+
export const decrypt = NativeAesCrypto.decrypt.bind(NativeAesCrypto);
|
|
5
|
+
export const pbkdf2 = NativeAesCrypto.pbkdf2.bind(NativeAesCrypto);
|
|
6
|
+
export const hmac256 = NativeAesCrypto.hmac256.bind(NativeAesCrypto);
|
|
7
|
+
export const hmac512 = NativeAesCrypto.hmac512.bind(NativeAesCrypto);
|
|
8
|
+
export const sha1 = NativeAesCrypto.sha1.bind(NativeAesCrypto);
|
|
9
|
+
export const sha256 = NativeAesCrypto.sha256.bind(NativeAesCrypto);
|
|
10
|
+
export const sha512 = NativeAesCrypto.sha512.bind(NativeAesCrypto);
|
|
11
|
+
export const randomUuid = NativeAesCrypto.randomUuid.bind(NativeAesCrypto);
|
|
12
|
+
export const randomKey = NativeAesCrypto.randomKey.bind(NativeAesCrypto);
|
|
13
|
+
|
|
3
14
|
export default NativeAesCrypto;
|
|
4
15
|
export type { Spec as AesCryptoSpec } from './NativeAesCrypto';
|