还记得我之前提到的吗?2018 年,“豆子工具”的初版只有一个功能:点一下按钮,生成一个随机数。
那时候的代码逻辑极其简单,甚至算不上一个“工具”。但随着这几年自己在开发、运维过程中不断遇到“需要一个复杂密码”、“需要一个 16 位纯金钥”或者“需要一个全大写 ID”等实际场景,我发现简单的随机数其实并不简单。
痛点:单一随机数的局限
早期的随机数功能非常死板,生成的格式往往不是我想要的。每次生成后,我可能还需要手动去改长度、改大小写,甚至手动补上特殊字符。
作为一个开发者,如果一个工具不能让我“一键到位”,那就是不合格的。
进化:高度自定义的“融合模式”
于是,我把这些年所有关于“随机”的需求全部揉碎、重组,将它升级成了一个全能的生成器。
现在的随机数功能,不再是盲目地随机,而是基于规则的精准生成。我为其设计了一套组合逻辑:
- 长度自定义:不再局限于几位数字,用户可以根据需求自由输入长度。
- 字符集自由组合:
- 纯数字:适用于验证码类场景。
- 纯字母:适用于临时 ID 或变量命名。
- 字母+数字:兼顾强度与易读性。
- 含特殊字符:专门为高强度随机密码设计。
- 结果格式化:
- 支持结果一键转大写或转小写。这在配置某些特定系统的 API Key 时非常有用,省去了手动切换输入法的麻烦。
思考:小功能里的“产品观”
虽然随机数在技术实现上只是简单的字符数组随机采样,但从产品角度看,它体现了一种**“减少用户操作”**的原则。
把纯数字、字母、符号和格式化选项融合在一起,本质上是把原本需要用户在脑子里构思、在手里修改的过程,变成了一个简单的“勾选”动作。

以前,我曾把这个功能做的非常复杂,可以生成Excel文件并进行下载,但是当我上线后,我发现这个功能用的人很少,而我自己也没有这样的场景。我用的最多的就是需要一个临时密码,用来分享时会用到。所以就砍掉了这个功能。
当简化之后,它有几个好处:1,增加了稳定性,因为去掉了导出Excel的功能。2,界面更简单,减少了很多输入的操作,方便使用。
总结
现在,每当我需要为一个新数据库设置密码,或者为测试环境生成一批随机标识时,我都会习惯性地打开这个功能。
从 2018 年那个只有一个按钮的“玩具”,到如今能够满足生产环境需求的“工具”,这种一点一滴的打磨,也许正是独立开发者的乐趣所在。