@
andybest 这个其实交由你自己来决定 ... 我可以提供一个参考思路 ...
假设第三段是个 20 位的 hexstring ... 先取前四位 ... 模 8 取得一个值 ...
如果这个值等于 0 的话继续往下取一位也就是取前五位模 8 ... 直到取得非零值为止 ...
如果十二位都走完了模依然为零 ... 说明这个 hexstring 由 1 0 和 8 组成 ...
我们为这种特殊情况手动定义一个值 ... 比如 3 ... 这个值代表结果中的数字个数 ...
现在假设我们用前五位取到了非零值 ... 以 5 为例吧 ...
后面还剩下十五位 ... 把第三段的开头一位补进来凑够十六位 ... 然后两位一分组 ...
现在我们得到了八个两位的 hexstring ...
前五个 hexstring 模 10 得到五个数字 ... 后三个 hexstring 模 26 得到三个字母 ...
继续处理这八个 hexstring ... 每个 hexstring 取第一位 ... 这代表结果的排序 ...
按照这个排序把我们得到的字母与数字放入对应的位置 ...
假如对应的位置已经有值的话就往后推一位 ... 直到可以放入为止 ...
八位都填入之后 ... 去除没有内容的空位 ...
我们就最终得到了一个肯定包含字母与数字的八位 hash ...
写的比较着急可能有点乱 ... 但大体意思是这样 ... 能看懂么 ..?