react-native-quick-crypto 1.0.16 → 1.0.17

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.
@@ -1,10 +1,167 @@
1
1
  #include "HybridUtils.hpp"
2
2
 
3
+ #include <limits>
3
4
  #include <openssl/crypto.h>
5
+ #include <openssl/evp.h>
4
6
  #include <stdexcept>
7
+ #include <string>
8
+
9
+ #include "QuickCryptoUtils.hpp"
5
10
 
6
11
  namespace margelo::nitro::crypto {
7
12
 
13
+ namespace {
14
+
15
+ constexpr char kHexChars[] = "0123456789abcdef";
16
+
17
+ int hexCharToVal(char c) {
18
+ if (c >= '0' && c <= '9')
19
+ return c - '0';
20
+ if (c >= 'a' && c <= 'f')
21
+ return c - 'a' + 10;
22
+ if (c >= 'A' && c <= 'F')
23
+ return c - 'A' + 10;
24
+ return -1;
25
+ }
26
+
27
+ std::string encodeHex(const uint8_t* data, size_t len) {
28
+ std::string result;
29
+ result.reserve(len * 2);
30
+ for (size_t i = 0; i < len; i++) {
31
+ result.push_back(kHexChars[data[i] >> 4]);
32
+ result.push_back(kHexChars[data[i] & 0x0F]);
33
+ }
34
+ return result;
35
+ }
36
+
37
+ std::vector<uint8_t> decodeHex(const std::string& hex) {
38
+ if (hex.length() % 2 != 0) {
39
+ throw std::runtime_error("Invalid hex string length");
40
+ }
41
+ std::vector<uint8_t> result;
42
+ result.reserve(hex.length() / 2);
43
+ for (size_t i = 0; i < hex.length(); i += 2) {
44
+ int hi = hexCharToVal(hex[i]);
45
+ int lo = hexCharToVal(hex[i + 1]);
46
+ if (hi < 0 || lo < 0) {
47
+ throw std::runtime_error("Invalid hex character");
48
+ }
49
+ result.push_back(static_cast<uint8_t>((hi << 4) | lo));
50
+ }
51
+ return result;
52
+ }
53
+
54
+ std::string encodeBase64(const uint8_t* data, size_t len) {
55
+ if (len > static_cast<size_t>(std::numeric_limits<int>::max())) {
56
+ throw std::runtime_error("Input too large for base64 encoding");
57
+ }
58
+ size_t encodedLen = ((len + 2) / 3) * 4;
59
+ std::string result(encodedLen + 1, '\0');
60
+ int written = EVP_EncodeBlock(reinterpret_cast<unsigned char*>(result.data()), data, static_cast<int>(len));
61
+ if (written < 0) {
62
+ throw std::runtime_error("Base64 encoding failed");
63
+ }
64
+ result.resize(static_cast<size_t>(written));
65
+ return result;
66
+ }
67
+
68
+ std::vector<uint8_t> decodeBase64(const std::string& b64) {
69
+ if (b64.length() > static_cast<size_t>(std::numeric_limits<int>::max())) {
70
+ throw std::runtime_error("Input too large for base64 decoding");
71
+ }
72
+ size_t maxLen = ((b64.length() + 3) / 4) * 3;
73
+ std::vector<uint8_t> result(maxLen);
74
+ int written = EVP_DecodeBlock(result.data(), reinterpret_cast<const unsigned char*>(b64.data()), static_cast<int>(b64.length()));
75
+ if (written < 0) {
76
+ throw std::runtime_error("Base64 decoding failed");
77
+ }
78
+ // EVP_DecodeBlock doesn't account for padding — trim trailing zeros from padding
79
+ size_t padding = 0;
80
+ if (b64.length() >= 1 && b64[b64.length() - 1] == '=')
81
+ padding++;
82
+ if (b64.length() >= 2 && b64[b64.length() - 2] == '=')
83
+ padding++;
84
+ result.resize(static_cast<size_t>(written) - padding);
85
+ return result;
86
+ }
87
+
88
+ std::string encodeBase64Url(const uint8_t* data, size_t len) {
89
+ std::string b64 = encodeBase64(data, len);
90
+ for (auto& c : b64) {
91
+ if (c == '+')
92
+ c = '-';
93
+ else if (c == '/')
94
+ c = '_';
95
+ }
96
+ // Remove trailing '=' padding
97
+ while (!b64.empty() && b64.back() == '=') {
98
+ b64.pop_back();
99
+ }
100
+ return b64;
101
+ }
102
+
103
+ std::vector<uint8_t> decodeBase64Url(const std::string& b64url) {
104
+ std::string b64 = b64url;
105
+ for (auto& c : b64) {
106
+ if (c == '-')
107
+ c = '+';
108
+ else if (c == '_')
109
+ c = '/';
110
+ }
111
+ // Add back padding
112
+ while (b64.length() % 4 != 0) {
113
+ b64.push_back('=');
114
+ }
115
+ return decodeBase64(b64);
116
+ }
117
+
118
+ std::vector<uint8_t> decodeLatin1(const std::string& str) {
119
+ std::vector<uint8_t> result;
120
+ result.reserve(str.size());
121
+ size_t i = 0;
122
+ while (i < str.size()) {
123
+ auto byte = static_cast<uint8_t>(str[i]);
124
+ uint32_t cp;
125
+ if (byte < 0x80) {
126
+ cp = byte;
127
+ i += 1;
128
+ } else if ((byte & 0xE0) == 0xC0 && i + 1 < str.size()) {
129
+ cp = ((byte & 0x1F) << 6) | (static_cast<uint8_t>(str[i + 1]) & 0x3F);
130
+ i += 2;
131
+ } else if ((byte & 0xF0) == 0xE0 && i + 2 < str.size()) {
132
+ cp = ((byte & 0x0F) << 12) | ((static_cast<uint8_t>(str[i + 1]) & 0x3F) << 6) | (static_cast<uint8_t>(str[i + 2]) & 0x3F);
133
+ i += 3;
134
+ } else if ((byte & 0xF8) == 0xF0 && i + 3 < str.size()) {
135
+ cp = ((byte & 0x07) << 18) | ((static_cast<uint8_t>(str[i + 1]) & 0x3F) << 12) | ((static_cast<uint8_t>(str[i + 2]) & 0x3F) << 6) |
136
+ (static_cast<uint8_t>(str[i + 3]) & 0x3F);
137
+ i += 4;
138
+ } else {
139
+ cp = byte;
140
+ i += 1;
141
+ }
142
+ result.push_back(static_cast<uint8_t>(cp & 0xFF));
143
+ }
144
+ return result;
145
+ }
146
+
147
+ std::string encodeLatin1(const uint8_t* data, size_t len) {
148
+ std::string result;
149
+ result.reserve(len * 2);
150
+ for (size_t i = 0; i < len; i++) {
151
+ uint8_t byte = data[i];
152
+ if (byte < 0x80) {
153
+ result.push_back(static_cast<char>(byte));
154
+ } else {
155
+ // Latin1 byte 0x80-0xFF → UTF-8 two-byte sequence
156
+ result.push_back(static_cast<char>(0xC0 | (byte >> 6)));
157
+ result.push_back(static_cast<char>(0x80 | (byte & 0x3F)));
158
+ }
159
+ }
160
+ return result;
161
+ }
162
+
163
+ } // anonymous namespace
164
+
8
165
  bool HybridUtils::timingSafeEqual(const std::shared_ptr<ArrayBuffer>& a, const std::shared_ptr<ArrayBuffer>& b) {
9
166
  size_t aLen = a->size();
10
167
  size_t bLen = b->size();
@@ -16,4 +173,63 @@ bool HybridUtils::timingSafeEqual(const std::shared_ptr<ArrayBuffer>& a, const s
16
173
  return CRYPTO_memcmp(a->data(), b->data(), aLen) == 0;
17
174
  }
18
175
 
176
+ std::string HybridUtils::bufferToString(const std::shared_ptr<ArrayBuffer>& buffer, const std::string& encoding) {
177
+ const auto* data = reinterpret_cast<const uint8_t*>(buffer->data());
178
+ size_t len = buffer->size();
179
+
180
+ if (encoding == "hex") {
181
+ return encodeHex(data, len);
182
+ }
183
+ if (encoding == "base64") {
184
+ return encodeBase64(data, len);
185
+ }
186
+ if (encoding == "base64url") {
187
+ return encodeBase64Url(data, len);
188
+ }
189
+ if (encoding == "utf8" || encoding == "utf-8") {
190
+ return std::string(reinterpret_cast<const char*>(data), len);
191
+ }
192
+ if (encoding == "latin1" || encoding == "binary") {
193
+ return encodeLatin1(data, len);
194
+ }
195
+ if (encoding == "ascii") {
196
+ std::string result(reinterpret_cast<const char*>(data), len);
197
+ for (auto& c : result) {
198
+ c &= 0x7F;
199
+ }
200
+ return result;
201
+ }
202
+ throw std::runtime_error("Unsupported encoding: " + encoding);
203
+ }
204
+
205
+ std::shared_ptr<ArrayBuffer> HybridUtils::stringToBuffer(const std::string& str, const std::string& encoding) {
206
+ if (encoding == "hex") {
207
+ auto decoded = decodeHex(str);
208
+ return ToNativeArrayBuffer(decoded);
209
+ }
210
+ if (encoding == "base64") {
211
+ auto decoded = decodeBase64(str);
212
+ return ToNativeArrayBuffer(decoded);
213
+ }
214
+ if (encoding == "base64url") {
215
+ auto decoded = decodeBase64Url(str);
216
+ return ToNativeArrayBuffer(decoded);
217
+ }
218
+ if (encoding == "utf8" || encoding == "utf-8") {
219
+ return ToNativeArrayBuffer(str);
220
+ }
221
+ if (encoding == "latin1" || encoding == "binary") {
222
+ auto decoded = decodeLatin1(str);
223
+ return ToNativeArrayBuffer(decoded);
224
+ }
225
+ if (encoding == "ascii") {
226
+ auto decoded = decodeLatin1(str);
227
+ for (auto& b : decoded) {
228
+ b &= 0x7F;
229
+ }
230
+ return ToNativeArrayBuffer(decoded);
231
+ }
232
+ throw std::runtime_error("Unsupported encoding: " + encoding);
233
+ }
234
+
19
235
  } // namespace margelo::nitro::crypto
@@ -10,6 +10,8 @@ class HybridUtils : public HybridUtilsSpec {
10
10
 
11
11
  public:
12
12
  bool timingSafeEqual(const std::shared_ptr<ArrayBuffer>& a, const std::shared_ptr<ArrayBuffer>& b) override;
13
+ std::string bufferToString(const std::shared_ptr<ArrayBuffer>& buffer, const std::string& encoding) override;
14
+ std::shared_ptr<ArrayBuffer> stringToBuffer(const std::string& str, const std::string& encoding) override;
13
15
  };
14
16
 
15
17
  } // namespace margelo::nitro::crypto
@@ -1 +1 @@
1
- {"version":3,"names":["_readableStream","require","_reactNativeNitroModules","_reactNativeBuffer","_utils","_validation","_errors","_hashnames","HashUtils","native","NitroModules","createHybridObject","getSupportedHashAlgorithms","getHashes","Hash","Stream","Transform","validate","args","algorithm","length","Error","options","outputLength","undefined","constructor","createHash","update","data","inputEncoding","defaultEncoding","binaryLikeToArrayBuffer","digest","encoding","nativeDigest","ab2str","Buffer","from","copy","newOptions","newNativeHash","hash","getOpenSSLVersion","_transform","chunk","callback","_flush","push","asyncDigest","validateMaxBufferLength","name","internalDigest","lazyDOMException","exports","normalizedHashName","normalizeHashName","bufferLikeToArrayBuffer","result","arrayBuffer","ArrayBuffer","view","Uint8Array","set","outputEncoding","h","hashExports"],"sourceRoot":"../../src","sources":["hash.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_readableStream","require","_reactNativeNitroModules","_reactNativeBuffer","_utils","_validation","_errors","_hashnames","HashUtils","native","NitroModules","createHybridObject","getSupportedHashAlgorithms","getHashes","Hash","Stream","Transform","validate","args","algorithm","length","Error","options","outputLength","undefined","constructor","createHash","update","data","inputEncoding","defaultEncoding","binaryLikeToArrayBuffer","digest","encoding","nativeDigest","ab2str","Buffer","from","copy","newOptions","newNativeHash","hash","getOpenSSLVersion","_transform","chunk","callback","_flush","push","asyncDigest","validateMaxBufferLength","name","internalDigest","lazyDOMException","exports","normalizedHashName","normalizeHashName","bufferLikeToArrayBuffer","result","arrayBuffer","ArrayBuffer","view","Uint8Array","set","outputEncoding","h","hashExports"],"sourceRoot":"../../src","sources":["hash.ts"],"mappings":";;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAD,OAAA;AAEA,IAAAE,kBAAA,GAAAF,OAAA;AAQA,IAAAG,MAAA,GAAAH,OAAA;AAKA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAEA,MAAMO,SAAS,CAAC;EACd,OAAeC,MAAM,GAAGC,qCAAY,CAACC,kBAAkB,CAAa,MAAM,CAAC;EAC3E,OAAcC,0BAA0BA,CAAA,EAAa;IACnD,OAAO,IAAI,CAACH,MAAM,CAACG,0BAA0B,CAAC,CAAC;EACjD;AACF;AAEO,SAASC,SAASA,CAAA,EAAG;EAC1B,OAAOL,SAAS,CAACI,0BAA0B,CAAC,CAAC;AAC/C;AAgBA,MAAME,IAAI,SAASC,sBAAM,CAACC,SAAS,CAAC;EAK1BC,QAAQA,CAACC,IAAc,EAAE;IAC/B,IAAI,OAAOA,IAAI,CAACC,SAAS,KAAK,QAAQ,IAAID,IAAI,CAACC,SAAS,CAACC,MAAM,KAAK,CAAC,EACnE,MAAM,IAAIC,KAAK,CAAC,sCAAsC,CAAC;IACzD,IACEH,IAAI,CAACI,OAAO,EAAEC,YAAY,KAAKC,SAAS,IACxCN,IAAI,CAACI,OAAO,CAACC,YAAY,GAAG,CAAC,EAE7B,MAAM,IAAIF,KAAK,CAAC,6CAA6C,CAAC;IAChE,IACEH,IAAI,CAACI,OAAO,EAAEC,YAAY,KAAKC,SAAS,IACxC,OAAON,IAAI,CAACI,OAAO,CAACC,YAAY,KAAK,QAAQ,EAE7C,MAAM,IAAIF,KAAK,CAAC,gCAAgC,CAAC;EACrD;;EAEA;AACF;AACA;EACUI,WAAWA,CAACP,IAAc,EAAE;IAClC,KAAK,CAACA,IAAI,CAACI,OAAO,CAAC;IAEnB,IAAI,CAACL,QAAQ,CAACC,IAAI,CAAC;IAEnB,IAAI,CAACC,SAAS,GAAGD,IAAI,CAACC,SAAS;IAC/B,IAAI,CAACG,OAAO,GAAGJ,IAAI,CAACI,OAAO,IAAI,CAAC,CAAC;IAEjC,IAAIJ,IAAI,CAACT,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,GAAGS,IAAI,CAACT,MAAM;MACzB;IACF;IAEA,IAAI,CAACA,MAAM,GAAGC,qCAAY,CAACC,kBAAkB,CAAa,MAAM,CAAC;IACjE,IAAI,CAACF,MAAM,CAACiB,UAAU,CAAC,IAAI,CAACP,SAAS,EAAE,IAAI,CAACG,OAAO,CAACC,YAAY,CAAC;EACnE;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAGEI,MAAMA,CAACC,IAAgB,EAAEC,aAAwB,EAAiB;IAChE,MAAMC,eAAyB,GAAG,MAAM;IACxCD,aAAa,GAAGA,aAAa,IAAIC,eAAe;;IAEhD;IACA,IAAI,OAAOF,IAAI,KAAK,QAAQ,IAAIC,aAAa,KAAK,MAAM,EAAE;MACxD,IAAI,CAACpB,MAAM,CAACkB,MAAM,CAACC,IAAI,CAAC;IAC1B,CAAC,MAAM;MACL,IAAI,CAACnB,MAAM,CAACkB,MAAM,CAAC,IAAAI,8BAAuB,EAACH,IAAI,EAAEC,aAAa,CAAC,CAAC;IAClE;IAEA,OAAO,IAAI,CAAC,CAAC;EACf;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAGEG,MAAMA,CAACC,QAAmB,EAAmB;IAC3C,MAAMC,YAAY,GAAG,IAAI,CAACzB,MAAM,CAACuB,MAAM,CAACC,QAAQ,CAAC;IAEjD,IAAIA,QAAQ,IAAIA,QAAQ,KAAK,QAAQ,EAAE;MACrC,OAAO,IAAAE,aAAM,EAACD,YAAY,EAAED,QAAQ,CAAC;IACvC;IAEA,OAAOG,yBAAM,CAACC,IAAI,CAACH,YAAY,CAAC;EAClC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAGEI,IAAIA,CAAChB,OAAqB,EAAQ;IAChC,MAAMiB,UAAU,GAAGjB,OAAO,IAAI,IAAI,CAACA,OAAO;IAC1C,MAAMkB,aAAa,GAAG,IAAI,CAAC/B,MAAM,CAAC6B,IAAI,CAACC,UAAU,CAAChB,YAAY,CAAC;IAC/D,MAAMkB,IAAI,GAAG,IAAI3B,IAAI,CAAC;MACpBK,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBG,OAAO,EAAEiB,UAAU;MACnB9B,MAAM,EAAE+B;IACV,CAAC,CAAC;IACF,OAAOC,IAAI;EACb;;EAEA;AACF;AACA;AACA;EACEC,iBAAiBA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACjC,MAAM,CAACiC,iBAAiB,CAAC,CAAC;EACxC;;EAEA;EACAC,UAAUA,CACRC,KAAiB,EACjBX,QAAwB,EACxBY,QAAoB,EACpB;IACA,IAAI,CAAClB,MAAM,CAACiB,KAAK,EAAEX,QAAoB,CAAC;IACxCY,QAAQ,CAAC,CAAC;EACZ;EACAC,MAAMA,CAACD,QAAoB,EAAE;IAC3B,IAAI,CAACE,IAAI,CAAC,IAAI,CAACf,MAAM,CAAC,CAAC,CAAC;IACxBa,QAAQ,CAAC,CAAC;EACZ;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASnB,UAAUA,CAACP,SAAiB,EAAEG,OAAqB,EAAQ;EACzE;EACA,OAAO,IAAIR,IAAI,CAAC;IACdK,SAAS;IACTG;EACF,CAAC,CAAC;AACJ;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM0B,WAAW,GAAG,MAAAA,CACzB7B,SAA0B,EAC1BS,IAAgB,KACS;EACzB,IAAAqB,mCAAuB,EAACrB,IAAI,EAAE,MAAM,CAAC;EAErC,MAAMsB,IAAI,GAAG/B,SAAS,CAAC+B,IAAI;EAE3B,IACEA,IAAI,KAAK,OAAO,IAChBA,IAAI,KAAK,SAAS,IAClBA,IAAI,KAAK,SAAS,IAClBA,IAAI,KAAK,SAAS,IAClBA,IAAI,KAAK,UAAU,IACnBA,IAAI,KAAK,UAAU,IACnBA,IAAI,KAAK,UAAU,EACnB;IACA,OAAOC,cAAc,CAAChC,SAAS,EAAES,IAAI,CAAC;EACxC;EAEA,IAAIsB,IAAI,KAAK,WAAW,IAAIA,IAAI,KAAK,WAAW,EAAE;IAChD,IAAI,OAAO/B,SAAS,CAACC,MAAM,KAAK,QAAQ,IAAID,SAAS,CAACC,MAAM,IAAI,CAAC,EAAE;MACjE,MAAM,IAAAgC,wBAAgB,EACpB,oCAAoC,EACpC,gBACF,CAAC;IACH;IACA,IAAIjC,SAAS,CAACC,MAAM,GAAG,CAAC,EAAE;MACxB,MAAM,IAAAgC,wBAAgB,EACpB,iCAAiC,EACjC,mBACF,CAAC;IACH;IACA,OAAOD,cAAc,CAAChC,SAAS,EAAES,IAAI,EAAET,SAAS,CAACC,MAAM,CAAC;EAC1D;EAEA,MAAM,IAAAgC,wBAAgB,EACpB,gCAAgCF,IAAI,EAAE,EACtC,mBACF,CAAC;AACH,CAAC;AAACG,OAAA,CAAAL,WAAA,GAAAA,WAAA;AAEF,MAAMG,cAAc,GAAGA,CACrBhC,SAA0B,EAC1BS,IAAgB,EAChBL,YAAqB,KACL;EAChB,MAAM+B,kBAAkB,GAAG,IAAAC,4BAAiB,EAACpC,SAAS,CAAC+B,IAAI,CAAC;EAC5D,MAAMT,IAAI,GAAGf,UAAU,CACrB4B,kBAAkB,EAClB/B,YAAY,GAAG;IAAEA;EAAa,CAAC,GAAGC,SACpC,CAAC;EACDiB,IAAI,CAACd,MAAM,CAAC,IAAA6B,8BAAuB,EAAC5B,IAAI,CAAC,CAAC;EAC1C,MAAM6B,MAAM,GAAGhB,IAAI,CAACT,MAAM,CAAC,CAAC;EAC5B,MAAM0B,WAAW,GAAG,IAAIC,WAAW,CAACF,MAAM,CAACrC,MAAM,CAAC;EAClD,MAAMwC,IAAI,GAAG,IAAIC,UAAU,CAACH,WAAW,CAAC;EACxCE,IAAI,CAACE,GAAG,CAACL,MAAM,CAAC;EAChB,OAAOC,WAAW;AACpB,CAAC;AAQM,SAASjB,IAAIA,CAClBtB,SAAiB,EACjBS,IAAgB,EAChBmC,cAAyB,EACR;EACjB,MAAMC,CAAC,GAAGtC,UAAU,CAACP,SAAS,CAAC;EAC/B6C,CAAC,CAACrC,MAAM,CAACC,IAAI,CAAC;EACd,OAAOmC,cAAc,GAAGC,CAAC,CAAChC,MAAM,CAAC+B,cAAc,CAAC,GAAGC,CAAC,CAAChC,MAAM,CAAC,CAAC;AAC/D;AAEO,MAAMiC,WAAW,GAAAZ,OAAA,CAAAY,WAAA,GAAG;EACzBvC,UAAU;EACVb,SAAS;EACT4B,IAAI;EACJO;AACF,CAAC","ignoreList":[]}
@@ -9,16 +9,21 @@ var _exportNames = {
9
9
  bufferLikeToArrayBuffer: true,
10
10
  binaryLikeToArrayBuffer: true,
11
11
  ab2str: true,
12
+ bufferToString: true,
13
+ stringToBuffer: true,
12
14
  kEmptyObject: true
13
15
  };
14
16
  exports.ab2str = ab2str;
15
17
  exports.abvToArrayBuffer = void 0;
16
18
  exports.binaryLikeToArrayBuffer = binaryLikeToArrayBuffer;
17
19
  exports.bufferLikeToArrayBuffer = bufferLikeToArrayBuffer;
20
+ exports.bufferToString = bufferToString;
18
21
  exports.kEmptyObject = void 0;
22
+ exports.stringToBuffer = stringToBuffer;
19
23
  exports.toArrayBuffer = toArrayBuffer;
20
24
  var _reactNativeBuffer = require("@craftzdog/react-native-buffer");
21
25
  var _safeBuffer = require("safe-buffer");
26
+ var _reactNativeNitroModules = require("react-native-nitro-modules");
22
27
  var _noble = require("./noble");
23
28
  Object.keys(_noble).forEach(function (key) {
24
29
  if (key === "default" || key === "__esModule") return;
@@ -31,6 +36,8 @@ Object.keys(_noble).forEach(function (key) {
31
36
  }
32
37
  });
33
38
  });
39
+ const utils = _reactNativeNitroModules.NitroModules.createHybridObject('Utils');
40
+
34
41
  /**
35
42
  * Converts supplied argument to an ArrayBuffer. Note this does not copy the
36
43
  * data so it is faster than toArrayBuffer. Not copying is important for
@@ -107,6 +114,9 @@ encoding = 'utf-8') {
107
114
  if (encoding === 'buffer') {
108
115
  throw new Error('Cannot create a buffer from a string with a buffer encoding');
109
116
  }
117
+ if (nativeEncodings.has(encoding)) {
118
+ return utils.stringToBuffer(input, encoding);
119
+ }
110
120
  const buffer = _reactNativeBuffer.Buffer.from(input, encoding);
111
121
  return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
112
122
  }
@@ -149,8 +159,22 @@ encoding = 'utf-8') {
149
159
  }
150
160
  throw new Error('Invalid argument type for "key". Need ArrayBuffer, TypedArray, KeyObject, CryptoKey, string');
151
161
  }
162
+ const nativeEncodings = new Set(['hex', 'base64', 'base64url', 'utf8', 'utf-8', 'latin1', 'binary', 'ascii']);
152
163
  function ab2str(buf, encoding = 'hex') {
164
+ if (nativeEncodings.has(encoding)) {
165
+ return utils.bufferToString(buf, encoding);
166
+ }
153
167
  return _reactNativeBuffer.Buffer.from(buf).toString(encoding);
154
168
  }
169
+
170
+ /** Native C++ buffer-to-string — exposed for benchmarking */
171
+ function bufferToString(buf, encoding = 'hex') {
172
+ return utils.bufferToString(buf, encoding);
173
+ }
174
+
175
+ /** Native C++ string-to-buffer — exposed for benchmarking */
176
+ function stringToBuffer(str, encoding = 'utf-8') {
177
+ return utils.stringToBuffer(str, encoding);
178
+ }
155
179
  const kEmptyObject = exports.kEmptyObject = Object.freeze(Object.create(null));
156
180
  //# sourceMappingURL=conversion.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","_noble","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","abvToArrayBuffer","buf","CraftzdogBuffer","isBuffer","buffer","ArrayBuffer","isView","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","SafeBuffer","readUInt8","bufferLikeToArrayBuffer","SharedArrayBuffer","arrayBuffer","set","TypeError","binaryLikeToArrayBuffer","input","encoding","Error","from","toString","handle","exportKey","ab2str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","_reactNativeNitroModules","_noble","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","utils","NitroModules","createHybridObject","abvToArrayBuffer","buf","CraftzdogBuffer","isBuffer","buffer","ArrayBuffer","isView","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","SafeBuffer","readUInt8","bufferLikeToArrayBuffer","SharedArrayBuffer","arrayBuffer","set","TypeError","binaryLikeToArrayBuffer","input","encoding","Error","nativeEncodings","has","stringToBuffer","from","toString","handle","exportKey","Set","ab2str","bufferToString","str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Stream","NitroModules","Buffer","ab2str","binaryLikeToArrayBuffer","bufferLikeToArrayBuffer","validateMaxBufferLength","lazyDOMException","normalizeHashName","HashUtils","native","createHybridObject","getSupportedHashAlgorithms","getHashes","Hash","Transform","validate","args","algorithm","length","Error","options","outputLength","undefined","constructor","createHash","update","data","inputEncoding","defaultEncoding","digest","encoding","nativeDigest","from","copy","newOptions","newNativeHash","hash","getOpenSSLVersion","_transform","chunk","callback","_flush","push","asyncDigest","name","internalDigest","normalizedHashName","result","arrayBuffer","ArrayBuffer","view","Uint8Array","set","outputEncoding","h","hashExports"],"sourceRoot":"../../src","sources":["hash.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Stream","NitroModules","Buffer","ab2str","binaryLikeToArrayBuffer","bufferLikeToArrayBuffer","validateMaxBufferLength","lazyDOMException","normalizeHashName","HashUtils","native","createHybridObject","getSupportedHashAlgorithms","getHashes","Hash","Transform","validate","args","algorithm","length","Error","options","outputLength","undefined","constructor","createHash","update","data","inputEncoding","defaultEncoding","digest","encoding","nativeDigest","from","copy","newOptions","newNativeHash","hash","getOpenSSLVersion","_transform","chunk","callback","_flush","push","asyncDigest","name","internalDigest","normalizedHashName","result","arrayBuffer","ArrayBuffer","view","Uint8Array","set","outputEncoding","h","hashExports"],"sourceRoot":"../../src","sources":["hash.ts"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,9 @@
2
2
 
3
3
  import { Buffer as CraftzdogBuffer } from '@craftzdog/react-native-buffer';
4
4
  import { Buffer as SafeBuffer } from 'safe-buffer';
5
+ import { NitroModules } from 'react-native-nitro-modules';
6
+ const utils = NitroModules.createHybridObject('Utils');
7
+
5
8
  /**
6
9
  * Converts supplied argument to an ArrayBuffer. Note this does not copy the
7
10
  * data so it is faster than toArrayBuffer. Not copying is important for
@@ -77,6 +80,9 @@ encoding = 'utf-8') {
77
80
  if (encoding === 'buffer') {
78
81
  throw new Error('Cannot create a buffer from a string with a buffer encoding');
79
82
  }
83
+ if (nativeEncodings.has(encoding)) {
84
+ return utils.stringToBuffer(input, encoding);
85
+ }
80
86
  const buffer = CraftzdogBuffer.from(input, encoding);
81
87
  return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
82
88
  }
@@ -119,9 +125,23 @@ encoding = 'utf-8') {
119
125
  }
120
126
  throw new Error('Invalid argument type for "key". Need ArrayBuffer, TypedArray, KeyObject, CryptoKey, string');
121
127
  }
128
+ const nativeEncodings = new Set(['hex', 'base64', 'base64url', 'utf8', 'utf-8', 'latin1', 'binary', 'ascii']);
122
129
  export function ab2str(buf, encoding = 'hex') {
130
+ if (nativeEncodings.has(encoding)) {
131
+ return utils.bufferToString(buf, encoding);
132
+ }
123
133
  return CraftzdogBuffer.from(buf).toString(encoding);
124
134
  }
135
+
136
+ /** Native C++ buffer-to-string — exposed for benchmarking */
137
+ export function bufferToString(buf, encoding = 'hex') {
138
+ return utils.bufferToString(buf, encoding);
139
+ }
140
+
141
+ /** Native C++ string-to-buffer — exposed for benchmarking */
142
+ export function stringToBuffer(str, encoding = 'utf-8') {
143
+ return utils.stringToBuffer(str, encoding);
144
+ }
125
145
  export const kEmptyObject = Object.freeze(Object.create(null));
126
146
  export * from './noble';
127
147
  //# sourceMappingURL=conversion.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Buffer","CraftzdogBuffer","SafeBuffer","abvToArrayBuffer","buf","isBuffer","buffer","ArrayBuffer","isView","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","readUInt8","bufferLikeToArrayBuffer","SharedArrayBuffer","arrayBuffer","set","TypeError","binaryLikeToArrayBuffer","input","encoding","Error","from","Object","prototype","toString","call","handle","exportKey","ab2str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":";;AAAA,SAASA,MAAM,IAAIC,eAAe,QAAQ,gCAAgC;AAC1E,SAASD,MAAM,IAAIE,UAAU,QAAQ,aAAa;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAIC,GAAQ,IAAK;EAC5C,IAAIH,eAAe,CAACI,QAAQ,CAACD,GAAG,CAAC,EAAE;IACjC,OAAOA,GAAG,CAACE,MAAM;EACnB;EACA,IAAIC,WAAW,CAACC,MAAM,CAACJ,GAAG,CAAC,EAAE;IAC3B,OAAOA,GAAG,CAACE,MAAM;EACnB;EACA,OAAOF,GAAG;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,aAAaA,CAC3BL,GAAmD,EACtC;EACb,IAAIH,eAAe,CAACI,QAAQ,CAACD,GAAG,CAAC,IAAIG,WAAW,CAACC,MAAM,CAACJ,GAAG,CAAC,EAAE;IAC5D,IAAIA,GAAG,EAAEE,MAAM,EAAEI,KAAK,EAAE;MACtB,OAAON,GAAG,CAACE,MAAM,CAACI,KAAK,CACrBN,GAAG,CAACO,UAAU,EACdP,GAAG,CAACO,UAAU,GAAGP,GAAG,CAACQ,UACvB,CAAC;IACH,CAAC,MAAM;MACL,OAAOR,GAAG,CAACE,MAAM;IACnB;EACF;EACA,MAAMO,EAAE,GAAG,IAAIN,WAAW,CAACH,GAAG,CAACU,MAAM,CAAC;EACtC,MAAMC,IAAI,GAAG,IAAIC,UAAU,CAACH,EAAE,CAAC;EAC/B,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,GAAG,CAACU,MAAM,EAAE,EAAEG,CAAC,EAAE;IACnCF,IAAI,CAACE,CAAC,CAAC,GAAGf,UAAU,CAACG,QAAQ,CAACD,GAAG,CAAC,GAAGA,GAAG,CAACc,SAAS,CAACD,CAAC,CAAC,GAAGb,GAAG,CAACa,CAAC,CAAE;EACjE;EACA,OAAOJ,EAAE;AACX;AAEA,OAAO,SAASM,uBAAuBA,CAACf,GAAe,EAAe;EACpE;EACA,IAAIH,eAAe,CAACI,QAAQ,CAACD,GAAG,CAAC,IAAIF,UAAU,CAACG,QAAQ,CAACD,GAAG,CAAC,EAAE;IAC7D,OAAOK,aAAa,CAACL,GAAG,CAAC;EAC3B;EACA;EACA,IAAIG,WAAW,CAACC,MAAM,CAACJ,GAAG,CAAC,EAAE;IAC3B,OAAOK,aAAa,CAACL,GAAG,CAAC;EAC3B;;EAEA;EACA,IAAIA,GAAG,YAAYG,WAAW,EAAE;IAC9B,OAAOH,GAAG;EACZ;;EAEA;EACA;EACA,IACE,OAAOgB,iBAAiB,KAAK,WAAW,IACxChB,GAAG,YAAYgB,iBAAiB,EAChC;IACA,MAAMC,WAAW,GAAG,IAAId,WAAW,CAACH,GAAG,CAACQ,UAAU,CAAC;IACnD,IAAII,UAAU,CAACK,WAAW,CAAC,CAACC,GAAG,CAAC,IAAIN,UAAU,CAACZ,GAAG,CAAC,CAAC;IACpD,OAAOiB,WAAW;EACpB;;EAEA;EACA;EACA;EACA,MAAM,IAAIE,SAAS,CACjB,6EACF,CAAC;AACH;AAEA,OAAO,SAASC,uBAAuBA,CACrCC,KAAqB;AAAE;AACvBC,QAAgB,GAAG,OAAO,EACb;EACb;EACA,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC7B,IAAIC,QAAQ,KAAK,QAAQ,EAAE;MACzB,MAAM,IAAIC,KAAK,CACb,6DACF,CAAC;IACH;IAEA,MAAMrB,MAAM,GAAGL,eAAe,CAAC2B,IAAI,CAACH,KAAK,EAAEC,QAAQ,CAAC;IAEpD,OAAOpB,MAAM,CAACA,MAAM,CAACI,KAAK,CACxBJ,MAAM,CAACK,UAAU,EACjBL,MAAM,CAACK,UAAU,GAAGL,MAAM,CAACM,UAC7B,CAAC;EACH;;EAEA;EACA,IAAIX,eAAe,CAACI,QAAQ,CAACoB,KAAK,CAAC,IAAIvB,UAAU,CAACG,QAAQ,CAACoB,KAAK,CAAC,EAAE;IACjE,OAAOhB,aAAa,CAACgB,KAAK,CAAC;EAC7B;;EAEA;EACA;EACA,IAAIlB,WAAW,CAACC,MAAM,CAACiB,KAAK,CAAC,EAAE;IAC7B,OAAOhB,aAAa,CAACgB,KAAK,CAAC;EAC7B;;EAEA;EACA,IAAIA,KAAK,YAAYlB,WAAW,EAAE;IAChC,OAAOkB,KAAK;EACd;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA,IACE,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,IAAI,IAAI,IACbI,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACP,KAAK,CAAC,KAAK,oBAAoB,EAC9D;IACA,OACEA,KAAK,CACLQ,MAAM,CAACC,SAAS,CAAC,CAAC;EACtB;EAEA,MAAM,IAAIP,KAAK,CACb,6FACF,CAAC;AACH;AAEA,OAAO,SAASQ,MAAMA,CAAC/B,GAAgB,EAAEsB,QAAgB,GAAG,KAAK,EAAE;EACjE,OAAOzB,eAAe,CAAC2B,IAAI,CAACxB,GAAG,CAAC,CAAC2B,QAAQ,CAACL,QAAQ,CAAC;AACrD;AAEA,OAAO,MAAMU,YAAY,GAAGP,MAAM,CAACQ,MAAM,CAACR,MAAM,CAACS,MAAM,CAAC,IAAI,CAAC,CAAC;AAE9D,cAAc,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["Buffer","CraftzdogBuffer","SafeBuffer","NitroModules","utils","createHybridObject","abvToArrayBuffer","buf","isBuffer","buffer","ArrayBuffer","isView","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","readUInt8","bufferLikeToArrayBuffer","SharedArrayBuffer","arrayBuffer","set","TypeError","binaryLikeToArrayBuffer","input","encoding","Error","nativeEncodings","has","stringToBuffer","from","Object","prototype","toString","call","handle","exportKey","Set","ab2str","bufferToString","str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}