Flutter生成安全URL Base64编码UUID插件base64_url_safe_uuid的使用

Flutter生成安全URL Base64编码UUID插件base64_url_safe_uuid的使用

base64_url_safe_uuid 是一个用于生成v4 UUID并将其编码为22个字符的Base64 URL安全表示形式的库(基于 RFC4648 sec5)。

特性

  • 生成一个Base64 URL安全的UUID。
  • 将UUID转换为Base64 URL安全的UUID。
  • 将Base64 URL安全的UUID还原为UUID。

使用方法

final base64UrlSafeUuid = UrlSafeUuid.generate();

完整示例

以下是一个完整的示例代码,展示了如何使用 base64_url_safe_uuid 插件生成一个Base64 URL安全的UUID,并打印到控制台。

import 'package:base64_url_safe_uuid/base64_url_safe_uuid.dart';

void main() {
  // 生成一个Base64 URL安全的UUID
  final base64UrlSafeUuid = UrlSafeUuid.generate();

  // 打印生成的UUID
  print('Base64 URL安全的UUID: $base64UrlSafeUuid');
}

运行结果

当你运行上述代码时,控制台将输出类似如下的内容:

Base64 URL安全的UUID: 0E7dGyfZTq6gU6QH9iJrQA

更多关于Flutter生成安全URL Base64编码UUID插件base64_url_safe_uuid的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter生成安全URL Base64编码UUID插件base64_url_safe_uuid的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,下面是一个使用 base64_url_safe_uuid 插件在 Flutter 中生成安全 URL Base64 编码 UUID 的代码示例。这个插件允许你生成符合 URL 安全标准的 Base64 编码的 UUID。

首先,你需要在 pubspec.yaml 文件中添加 base64_url_safe_uuid 依赖:

dependencies:
  flutter:
    sdk: flutter
  base64_url_safe_uuid: ^2.0.0  # 请检查最新版本号

然后运行 flutter pub get 来获取依赖。

接下来,在你的 Dart 文件中使用这个插件:

import 'package:flutter/material.dart';
import 'package:base64_url_safe_uuid/base64_url_safe_uuid.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Base64 URL Safe UUID Generator'),
        ),
        body: Center(
          child: FutureBuilder<String>(
            future: generateBase64UrlSafeUuid(),
            builder: (context, snapshot) {
              if (snapshot.connectionState == ConnectionState.done) {
                if (snapshot.hasError) {
                  return Text('Error: ${snapshot.error}');
                } else {
                  return Text('Base64 URL Safe UUID: ${snapshot.data}');
                }
              } else {
                return CircularProgressIndicator();
              }
            },
          ),
        ),
      ),
    );
  }
}

Future<String> generateBase64UrlSafeUuid() async {
  final uuid = Uuid(); // Create an instance of Uuid
  final uuidString = uuid.v4(); // Generate a version 4 UUID
  final base64UrlSafeUuid = uuidStringToBase64UrlSafe(uuidString); // Convert UUID to Base64 URL safe string
  return base64UrlSafeUuid;
}

// Helper function to convert UUID string to Base64 URL safe string
String uuidStringToBase64UrlSafe(String uuid) {
  // Convert UUID string to bytes
  List<int> uuidBytes = utf8.encode(uuid.replaceAll('-', ''));
  // Encode bytes to Base64 URL safe string
  return base64Url.encode(uuidBytes);
}

注意:上面的代码示例中包含了一个辅助函数 uuidStringToBase64UrlSafe,但实际上 base64_url_safe_uuid 插件已经封装好了生成 UUID 并转换为 Base64 URL 安全字符串的功能。因此,我们实际上不需要自己手动转换。以下是简化后的代码,直接使用插件提供的功能:

import 'package:flutter/material.dart';
import 'package:base64_url_safe_uuid/base64_url_safe_uuid.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Base64 URL Safe UUID Generator'),
        ),
        body: Center(
          child: FutureBuilder<String>(
            future: Base64UrlSafeUuid().v4(),
            builder: (context, snapshot) {
              if (snapshot.connectionState == ConnectionState.done) {
                if (snapshot.hasError) {
                  return Text('Error: ${snapshot.error}');
                } else {
                  return Text('Base64 URL Safe UUID: ${snapshot.data}');
                }
              } else {
                return CircularProgressIndicator();
              }
            },
          ),
        ),
      ),
    );
  }
}

在这个简化的版本中,我们直接使用 Base64UrlSafeUuid().v4() 方法来生成一个 Base64 URL 安全的 UUID,而不需要手动转换。这样代码更加简洁和高效。

回到顶部