搜索插件、代码仓与 APP 分类

nanoid 封面
插件详情v1.0.0

nanoid

一个微型、安全、URL 友好且唯一的字符串 ID 生成器。ai/nanoid 的 Dart 实现

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
11.5万
喜欢数
125
Pub 分数
150

安装插件

flutter pub add nanoid

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个轻量级、安全且 URL 友好的 Dart 唯一 ID 生成器,灵感来自流行的 JavaScript 库。它生成加密强度高的随机字符串,适用于 URL、文件名和数据库键。Dart 实现确保在 Android、iOS、Web、macOS、Windows 和 Linux 平台之间的跨平台兼容性。设计简洁高效,避免可预测的模式,同时保持极小的代码体积。非常适合需要安全性和可靠性的应用程序中生成短而唯一的标识符。

适合场景

  • 为数据库记录生成唯一ID
  • 创建用于身份验证的安全令牌
  • 生成适用于网络路由的 URL 安全标识符
  • 在分布式系统中用于抗冲突的密钥
  • 为面向用户的內容创建简短且可读的标识符

主要特点

  • 加密安全的随机生成
  • URL安全字符集
  • 最小代码占用
  • 跨平台支持
  • 可自定义 ID 长度
  • 无外部依赖

适合对象

  • Web和移动应用开发人员
  • 需要唯一密钥的后端服务
  • 需要安全令牌生成的应用程序
  • 优先考虑小包大小的项目
  • 使用 Flutter 且有安全需求的开发者

使用建议

  • 不适合顺序或可预测的ID需求
  • 长度必须在唯一性和可读性之间保持平衡
  • 可能需要种子数据以进行确定性测试
  • 限制为字符串输出格式
  • 不提供 UUID 或其他 ID 标准

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

nanoid

pub test

Dart implementation of ai/nanoid

Installation

Add nanoid as a dependency in your pubspec.yaml file

Usage

Normal
import 'package:nanoid/nanoid.dart';

void main() {
  var id = nanoid();
  var custom_length_id = nanoid(10);
  // ...
}
Custom Alphabet or length
import 'package:nanoid/nanoid.dart';

void main() {
  var id = customAlphabet('1234567890abcdef', 10);
  // ...
}
Async API
import 'package:nanoid/async.dart';

void main() async {
  var id = await nanoid();
  var custom_length_id = await nanoid(10);
  // ...
}
Non-secure API
import 'package:nanoid/non_secure.dart';

void main() {
  var non_secure_id = nanoid();
  var custom_length_id = nanoid(10);
  // ...
}

License

MIT

所属分类

源码仓库

使用此插件的项目