我正在为本地博物馆在无状态网络引导环境中使用 Raspberry Pi
开展一个项目。我希望 Raspberry Pi
从 MAC 地址的最后 4 位生成一个易于内存的 3 字符代码。此代码将由人读取并输入到描述机器将要执行的操作的数据库中,并且在将来重新启动时 Raspberry Pi
将查找自己的代码以识别其任务。
它可以单独使用部分 MAC 地址来完成,但我想生成一个更符合人类的代码以减少错误。转换只需在一个方向上进行。
我认为我已将其分解为合乎逻辑的步骤,但我不确定如何以有效的方式实现它们。
- 从 MAC 地址中取出最后 4 个字符
- 转换为二进制 - 16 位
- 删除 MSB 留下 15 位
- 颠倒位的顺序——在我看来,这会使字符更加随机化,使最终字符串更容易记住
- 将 15 位分成 3 个 5 位的 block
- 将每个 5 位 block 映射到跳过 I、1、O 和 0 的字母/数字以避免混淆
- 输出3个字符串
最佳答案
您可以将最后 13 位分成 5、3、5 位组。首尾选一个辅音字母(共21个,需要5位,从22个开始重复),中间3个选一个元音字母(共5个,选法相同)。这将提供大部分可发音的“名称”,其中一些可能也很有趣。
关于linux - 从 4 个十六进制数字生成 'unique' 3 个字符的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28623226/