react-native-mmkv 3.0.0-beta.8 → 3.0.1

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.
@@ -25,25 +25,12 @@
25
25
  #include <cstring>
26
26
  #include <ctime>
27
27
 
28
- namespace mmkv {
29
-
30
- // assuming size in [1, 5]
31
- uint32_t AESCrypt::randomItemSizeHolder(uint32_t size) {
32
- constexpr uint32_t ItemSizeHolders[] = {0, 0x80, 0x4000, 0x200000, 0x10000000, 0};
33
- auto ItemSizeHolderMin = ItemSizeHolders[size - 1];
34
- auto ItemSizeHolderMax = ItemSizeHolders[size] - 1;
35
-
36
- srand((unsigned) time(nullptr));
37
- auto result = static_cast<uint32_t>(rand());
38
- result = result % (ItemSizeHolderMax - ItemSizeHolderMin + 1);
39
- result += ItemSizeHolderMin;
40
- return result;
41
- }
42
-
43
28
  #ifndef MMKV_DISABLE_CRYPT
44
29
 
45
30
  using namespace openssl;
46
31
 
32
+ namespace mmkv {
33
+
47
34
  AESCrypt::AESCrypt(const void *key, size_t keyLength, const void *iv, size_t ivLength) {
48
35
  if (key && keyLength > 0) {
49
36
  memcpy(m_key, key, (keyLength > AES_KEY_LEN) ? AES_KEY_LEN : keyLength);
@@ -115,6 +102,19 @@ void AESCrypt::fillRandomIV(void *vector) {
115
102
  }
116
103
  }
117
104
 
105
+ // assuming size in [1, 5]
106
+ uint32_t AESCrypt::randomItemSizeHolder(uint32_t size) {
107
+ constexpr uint32_t ItemSizeHolders[] = {0, 0x80, 0x4000, 0x200000, 0x10000000, 0};
108
+ auto ItemSizeHolderMin = ItemSizeHolders[size - 1];
109
+ auto ItemSizeHolderMax = ItemSizeHolders[size] - 1;
110
+
111
+ srand((unsigned) time(nullptr));
112
+ auto result = static_cast<uint32_t>(rand());
113
+ result = result % (ItemSizeHolderMax - ItemSizeHolderMin + 1);
114
+ result += ItemSizeHolderMin;
115
+ return result;
116
+ }
117
+
118
118
  static inline void
119
119
  Rollback_cfb_decrypt(const uint8_t *input, const uint8_t *output, size_t len, AES_KEY *key, AESCryptStatus &status) {
120
120
  auto ivec = status.m_vector;
@@ -174,6 +174,8 @@ AESCrypt AESCrypt::cloneWithStatus(const AESCryptStatus &status) const {
174
174
  return AESCrypt(*this, status);
175
175
  }
176
176
 
177
+ } // namespace mmkv
178
+
177
179
  # ifdef MMKV_DEBUG
178
180
 
179
181
  # include "../MMKVLog.h"
@@ -270,7 +272,7 @@ void AESCrypt::testAESCrypt() {
270
272
  delete[] decryptText;
271
273
  }
272
274
 
275
+ } // namespace mmkv
276
+
273
277
  # endif // MMKV_DEBUG
274
278
  #endif // MMKV_DISABLE_CRYPT
275
-
276
- } // namespace mmkv
@@ -29,10 +29,7 @@
29
29
  #ifdef MMKV_DISABLE_CRYPT
30
30
 
31
31
  namespace mmkv {
32
- class AESCrypt {
33
- public:
34
- static uint32_t randomItemSizeHolder(uint32_t size);
35
- };
32
+ class AESCrypt;
36
33
  }
37
34
 
38
35
  #else
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-mmkv",
3
- "version": "3.0.0-beta.8",
3
+ "version": "3.0.1",
4
4
  "description": "The fastest key/value storage for React Native. ~30x faster than AsyncStorage! Works on Android, iOS and Web.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",