更短的 UUID,带有 PHP 的 ASCII85

2023-12-21

我读到了关于UUID v4 http://en.wikipedia.org/wiki/Universally_unique_identifier它几乎是独一无二的,这就是我所需要的。问题是,这个数字太大了,是否可以用更少的字符生成像 Facebook 或 Twitter 这样的 UUID?

我读过一些帖子,其中您可以使用 Ascii85 将代码缩减到 20,但没有看到可靠的 PHP 脚本可以完成这项工作。有人知道经过测试的课程吗?对于随机 ID 来说,这是存储这 20 个字符的最佳方式,对吧?

- - 编辑 - -

@大卫·施瓦茨

谢谢。我需要在单个服务器中使用一个随机的唯一标识符,长度在 8 到 16 个字符之间(如果是最低的,20 个字符就可以了)。它的想法是识别具有可读ID但不是增量的对象(第一个对象10001,第二个10002),542A4B243J,C63426KJ70,O30V4U1I9P等的方式就可以了。 ID 需要成为(至少)6 个 MySQL 表的主键。对象是在同一服务器中使用 PHP 创建的。

@ta.speot.is

我写道“没有看到可靠的 PHP 脚本可以完成这项工作。有人知道经过测试的类吗??”我不认为谷歌中出现的所有代码都经过测试,您是否测试了所有链接?

@sarnold

谢谢,但抱歉,不太明白=(


我在从事的一个企业项目中遇到了同样的问题,并且在 PHP 中找不到合理且经过测试的快速解决方案。所以我决定编写一个 PHP 扩展,可用于使用 base85/ascii85 编码/解码数据。

您可以在这里查看:https://github.com/miezuit/php-base85 https://github.com/miezuit/php-base85

它使用一组自动化测试进行测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更短的 UUID,带有 PHP 的 ASCII85 的相关文章

  • PHP 使用主键和辅助键对多维数组进行排序[重复]

    这个问题在这里已经有答案了 如何按主键和辅助键对多维数组进行排序 例如 假设有以下数组 result array result 0 prio 1 result 0 date 2010 02 28 result 0 post February
  • 从 URL 任何文件类型创建图像

    我知道imagecreatefromgif https www php net manual en function imagecreatefromgif php imagecreatefromjpeg https www php net
  • 使用多个 WHERE 子句更新 Codeigniter 中的批次

    我查看了 CI 用户指南来了解如何处理update batch 并且它似乎只接受一个索引来匹配要更新的行 但在我的例子中 我需要指定两个索引 例如lang and id page我一起用作索引 这样的lang en id page 115是
  • Yii2 组件将数据传递给 __construct

    我有一个库 我想将其用作组件 在配置文件中我这样设置 components gt superLib gt class gt SuperLib construct gt first second Maybe Yii 2 have proper
  • mysql_query 保留返回时在表中创建的数据类型?

    我在mysql中有一个表 CREATE TABLE user id INT name VARCHAR 250 我查询表 result mysql query SELECT id name FROM user 我收集结果 while row
  • 获取php中两个日期之间的天数[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我试图获取两个日期之间的天数 但返回的结果不正确 这是我的尝试 t time get the time Y m d g
  • .htaccess 主要用于 localhost

    我在本地主机上使用 wamp server 虚拟主机名为www xyz com我有一个通过 git 设置的部署服务 它将代码部署到服务器上www xyz in 这是我的 htaccess 代码 RewriteEngine on Rewrit
  • SCORM 与 PHP/Yii 的集成 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 实际上我是新手SCORMPHP 中的实现 理论上 我在这里提问之前已经介绍了这些领域 已经看过了维基百科 http en wikipedia
  • PHP 文件大小报告旧大小

    以下代码是我编写的 PHP Web 服务的一部分 它需要一些上传的 Base64 数据 对其进行解码 然后将其附加到文件中 这一切都很好 问题是 当我在追加操作之后读取文件大小时 我得到了追加操作之前文件的大小 fileOut fopen
  • 调用未定义的函数curl_version

    您好 我已经在运行 php 5 6 的 ubuntu 14 04 上安装了 wordpress 4 6 网站 管理页面不可见 我可以在日志中看到以下错误 致命错误 在第 274 行调用 var www html files modules
  • 在 PHP 中的请求之间存储对象而不进行序列化

    我正在用 PHP 编写一个有状态的 Web 应用程序 其中状态可能包含大量对象 目前 我将所有这些对象保存在 SESSION 中 并在请求结束时将它们序列化 这有点痛苦 因为序列化整个会话需要几秒钟 而反序列化则需要更多时间 我想尝试 AP
  • PHP:str_replace() - 忽略空格

    我有一个类似的字符串 我想将其替换为 问题是我不知道之间是否会有空格 和 可能有空白 也可能没有空白 可能有制表符或可能有换行符 我该如何更换
  • PHP:我是否将事件驱动编程与信号感知接口(信号和槽/观察者模式)混淆了?

    我看到很多人说 Symfony2 Zend Framework 2 等都是事件驱动的 在桌面世界中 通过事件驱动编程 我了解到应用程序每当其状态发生变化时都会通知其观察者 由于 PHP 应用程序是无状态的 因此无法执行此类操作 IE 让观察
  • PSR-2 编码标准:为什么仅包含 PHP 的文件中没有 PHP 结束标记? [复制]

    这个问题在这里已经有答案了 我刚刚听说PSR 2编码标准 http www php fig org psr psr 2 在对此问题的评论中 是否有任何理由在方法和成员变量名称之前使用 public 关键字 https stackoverfl
  • mysql_fetch_array while 循环。它是如何工作的?

    我已经阅读了 php net 上的该函数 但这仍然没有回答我的问题 我对 C 语言有一定的了解 并且刚刚开始使用 php 通常在 C 中 如果要执行 while 循环 则需要有一些条件来将循环推进到不再有效的点 如下所示 while x g
  • SMTP:无法连接套接字:无法找到套接字传输“ssl”

    我一直在尝试在 WAMP 上使用 Pear 发送电子邮件通过 GMail 花了几个小时将其全部设置并找出我遇到的所有错误后 我以为我已经很接近了 直到我开始收到此错误 Failed to connect to ssl smtp gmail
  • 如何从数据库生成 Doctrine 实体并使用 PSR-4 自动加载?

    使用教义2 5使用 PSR 4 自动加载并将已设计的数据库模式转换为实体类 注释 问题是将导出的文件放入正确的目录结构中 作曲家 json autoload psr 4 Application src require doctrine or
  • 使用 file_get_contents 在 php 中进行屏幕缩放

    嗨 我对屏幕抓取很陌生 我正在尝试从酒店预订网站上抓取评论以显示在我的网站上 我已经走到这一步了 但有点卡住了 有人可以帮忙吗 use 文档 http php net manual en class domdocument ph
  • 有没有办法重置特定类的所有静态属性?

    您可能知道 静态属性使测试变得困难 有没有办法将特定类的所有静态属性重置回其初始状态 理想情况下 这不需要为每个类定制代码 但可以通过继承以通用方式使用 或者完全从类外部使用 请不要回复 不要使用静态属性 之类的内容 谢谢 假设您正在使用
  • 服务器端文件验证在 Yii.2.0 中不起作用

    Is the FileValidatorYii2 中的类只支持客户端验证 我使用代码编写了文件上传系统 在模型中 public function rules return allAllowedFileType safe allAllowed

随机推荐

  • 获取静态初始化块以在 java 中运行而不加载类

    我有一些课程 如下所示 public class TrueFalseQuestion implements Question static QuestionFactory registerType TrueFalse Question pu
  • 我的航站楼里有啤酒:怎么办?

    Brew puts a picture of a tiny beer in my terminal 它是如何做到这一点的 我什至不知道 但我需要知道 因为我未来的所有命令行应用程序也必须在其输出中放入小图片 它可能只是一个 unicode
  • 为脚本标签指定 ID

    我遇到了一个场景script元素一个id属性可以轻松解决问题 然而 在阅读了有关script元素在w3学校 http www w3schools com TAGS tag script asp and 怪异模式 http www quirk
  • swipeRefresh 运行时替换 Fragment 无法正常工作

    我有片段 A 其中包括 SwipeRefresh 和 RecycleView 当用户单击 RecycleView 中的某个项目时 我替换一个新的片段 即 B mAdapter setOnItemClickListener new MyAda
  • Ruby App MVC 框架(非 Web)

    有人听说过用于应用程序 脚本的 Ruby MVC 框架吗 当 Rails 出现时 它是一个革命性的工具 因为它将 MVC 带给了广大 Web 开发人员 并第一次迫使他们使用设计模式和约定 我正在寻找类似的东西 但用于编写从 cron 或用户
  • Java 中的数组列表

    在 Java 中创建数组列表的语法是什么 我已经尝试过以下方法 List
  • 取消 [self PerformSelector:... withObject:nil afterDelay:20];

    我使用下面的代码在 viewDidLoad 中调用方法 sr 如何在该方法 sr 调用之前取消它 self performSelector selector sr withObject nil afterDelay 20 NSObject
  • 使用 JQuery 动态重复和删除表单元素

    我有一个带有附加添加和删除按钮的表单 单击这些按钮后 相同的表单行将被重复或完全删除 div class container div
  • 如何在折线图或散点图中添加 3 个以上系列?

    当我尝试在折线图或散点图中添加 3 个以上系列时 出现异常 在谷歌浏览器中 未捕获的类型错误 对象 object Object 的属性 未定义 不是函数 在火狐中 Ext chart Shape type 不是函数 停止此错误 attr E
  • 将 url 传递到从 RabbitMQ 消费的 scrapy 中的 parse 方法

    我正在使用 scrapy 来消费来自 RabbitMQ 的消息 url 但是当我使用yield 调用将我的 url 作为参数传递的解析方法时 该程序不在回调方法中 下面是我的以下代码蜘蛛 coding utf 8 import scrapy
  • wx中如何同步两个网格的滚动条

    创建一个自定义 wx frame 以包含一个内部有两个网格控件的拆分窗口 它用于比较每个网格中的数据 此时两个网格的滚动条需要支持同步滚动 问题 如何获取这两个网格的滚动事件 我尝试将 wx EVT SCROLL 事件放入框架中 但失败了
  • javascript中的undefined是什么类型? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有人能告诉我 JavaScript 中未定义的类型是什么吗 typeof undefined 会返回什么 什么是未定义 在 JavaScr
  • 尝试在表刷新后保留排序器位置

    我有以下方法 private void passStingR StringBuilder retVal throws BadLocationException int scrollPositionR scrollR getVerticalS
  • 致命错误:在非对象上调用成员函数 fetch()?

    我收到返回给我的以下消息 致命错误 运行以下命令时 调用非对象上的成员函数 fetch 但似乎是零星的 有什么想法吗 cc transaction conn new PDO mysql host server dbname db2use d
  • 我应该如何使用 Doxygen 对 typedef 进行分类?

    我的 C 代码中有 typedef 结构 截至目前 它们被列为 var类型定义 有一个更好的方法吗 下面是我所拥有的示例 var typedef etc brief A type defined structure for etc para
  • 如何使用 Objective C 在 Bluebamboo 设备上打印图像?

    我是 Objective C 开发的新手 正在从事一个项目 在该项目中我使用外部附件 设备是 Bluebamboo P25M 打印机和信用卡交换器 我必须使用这台打印机打印图像 Bluebamboo 提供了一个 SDK 但在这个 SDK 中
  • 无法通过浏览器中的 URL 从 S3 下载文件

    我有这样的代码片段 曾经适用于以前版本的 Google Chrome 但现在不起作用 当我运行此脚本时 我重定向到包含文件内容 它是文本 和 AWS URL 与 setAttribute 中相同 的页面 var element docume
  • 使所有活动全屏 - 没有标题栏没有活动栏

    我需要从我正在使用的所有活动中删除操作栏 标题栏 目前我申请了 android theme android style Theme Holo Light NoActionBar Fullscreen 在清单文件中的活动下 但这仅从主要活动中
  • 如何粘贴到多个输入? [复制]

    这个问题在这里已经有答案了 有一个包含六个条目的输入 如果将所需的数字直接粘贴到输入中 123456 当数字粘贴到第一个框中时 如何将它们分配到其他框中 on JSfiddle https jsfiddle net emresaracogl
  • 更短的 UUID,带有 PHP 的 ASCII85

    我读到了关于UUID v4 http en wikipedia org wiki Universally unique identifier它几乎是独一无二的 这就是我所需要的 问题是 这个数字太大了 是否可以用更少的字符生成像 Faceb