HiveCryptoAdapter constructor

HiveCryptoAdapter({
  1. required String userId,
  2. required String deviceId,
  3. String? additionalEntropy,
})

Implementation

HiveCryptoAdapter({
  required String userId,
  required String deviceId,
  String? additionalEntropy,
})  : _userId = userId,
      _deviceId = deviceId {
  // 生成用户特定的主密钥
  final masterKey = CryptoUtils.generateUserKey(
    userId: _userId,
    deviceId: _deviceId,
    additionalEntropy: additionalEntropy,
  );

  // 生成盐值(应该保存起来)
  _salt = _generateSalt();

  // 使用PBKDF2派生最终密钥
  _derivedKey = CryptoUtils.deriveKey(
    password: masterKey,
    salt: _salt,
    keyLength: 32,
  );
}