generateUserKey static method

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

从用户特定信息生成密钥 组合多个因素确保每个用户的密钥唯一

Implementation

static String generateUserKey({
  required String userId,
  required String deviceId,
  String? additionalEntropy,
}) {
  // 组合多个熵源
  final combined = '$userId|$deviceId|${additionalEntropy ?? DateTime.now().millisecondsSinceEpoch}';
  final bytes = utf8.encode(combined);

  // 使用SHA-256生成固定长度的密钥
  final hash = sha256.convert(bytes);
  return base64.encode(hash.bytes);
}