安装
使用 composer 安装 ctfang/id-to-code 非常简单,只需运行以下命令:
composer require ctfang/id-to-code
使用
首先,我们需要生成一个加密模板。可以使用以下代码来生成并保存模板:
genKey($minLen,$mode)); }
生成模板后,我们可以使用 CodeService 来对 ID 进行加密和解密。以下是一个示例,展示如何对 1 亿个 ID 进行加密和解密:
toString($int);
$newInt = $code->toInt($str);
if ($base != $newInt){
$ok = false;
break;
}
}
if ($ok){
var_dump("加密 和 解密正常");
};
var_dump($code->toString(1));每个整数 ID 都会被转换为类似 71869931 的代码。
原理
ctfang/id-to-code 库通过使用加密模板对数字进行替换,而不是进行哈希计算,因此速度非常快。加密模板是一个反人类习惯生成的映射表,普通的自增 ID 经过模板转换后,会变得无规律。例如,1 可能变成 2,2 变成 5,每个位数独立使用一个加密模板,并且在转换时加入设定的位数盐,使每次转换的结果都不一样。即使 ID 从 997 变到 998 只改变了一个数字,由于盐的不同,前面未变动的数字也会被替换,从而得到一个完全不同的数值。
优势和应用效果
使用 ctfang/id-to-code 库的主要优势在于,它能够快速、高效地将自增 ID 转换为无规律的代码,从而保护系统的业务量信息。同时,由于转换过程不需要复杂的计算,性能非常高,非常适合需要频繁处理 ID 的场景,如订单号、用户 ID 等。此外,该库生成的代码长度较短,方便在前端使用和传输。
在实际应用中,ctfang/id-to-code 库帮助我们成功地隐藏了系统的业务量信息,提升了系统的安全性和隐私保护,同时保持了高效的处理速度,极大地改善了用户体验和系统性能。










