Skip to content

Commit d3c6b07

Browse files
committed
Added SHA-1 for iOS
1 parent 788d528 commit d3c6b07

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

ios/sha256.m

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,24 @@ @implementation sha256Lib
1717

1818
RCT_EXPORT_MODULE()
1919

20+
RCT_EXPORT_METHOD(sha1: (NSString *) data
21+
resolver: (RCTPromiseResolveBlock) resolve
22+
rejecter: (RCTPromiseRejectBlock) reject)
23+
24+
{
25+
const char* str = [data UTF8String];
26+
unsigned char result[CC_SHA1_DIGEST_LENGTH];
27+
CC_SHA1(str, (CC_LONG)strlen(str), result);
28+
29+
NSMutableString *ret = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH*2];
30+
for(int i = 0; i<CC_SHA1_DIGEST_LENGTH; i++)
31+
{
32+
[ret appendFormat:@"%02x",result[i]];
33+
}
34+
35+
resolve(ret);
36+
}
37+
2038
RCT_EXPORT_METHOD(sha256: (NSString *) data
2139
resolver: (RCTPromiseResolveBlock) resolve
2240
rejecter: (RCTPromiseRejectBlock) reject)
@@ -25,13 +43,13 @@ @implementation sha256Lib
2543
const char* str = [data UTF8String];
2644
unsigned char result[CC_SHA256_DIGEST_LENGTH];
2745
CC_SHA256(str, strlen(str), result);
28-
46+
2947
NSMutableString *ret = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH*2];
3048
for(int i = 0; i<CC_SHA256_DIGEST_LENGTH; i++)
3149
{
3250
[ret appendFormat:@"%02x",result[i]];
3351
}
34-
52+
3553
resolve(ret);
3654
}
3755

sha256.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,7 @@ const sha256Lib = NativeModules.sha256Lib;
1111
export function sha256(data) {
1212
return sha256Lib.sha256(data);
1313
}
14+
15+
export function sha1(data) {
16+
return sha256Lib.sha1(data);
17+
}

0 commit comments

Comments
 (0)