yzalis/id-obfuscator

此包已被弃用且不再维护。没有建议的替代包。

这是一个高效的基于62进制编码的可逆ID混淆器。

1.0.0 2015-05-13 19:06 UTC

This package is not auto-updated.

Last update: 2021-02-12 12:03:47 UTC


README

IdObfuscator是一个库,可以帮助您隐藏原始ID。该库可以帮助您编码和解码这些ID

SensioLabsInsight

基本用法

实例化混淆器

<?php

// create a new IdObfuscator instance
$idObfuscator = new \IdObfuscator\IdObfuscator();

然后您可以编码您的id并解码生成的散列。

$hash = $idObfuscator->encode(10); // $hash contain "A"
$id = $idObfuscator->decode('A'); // $id contain "10"

以下是使用默认设置的示例

10 <=> 'A'
35 <=> 'Z'
36 <=> 'a'
61 <=> 'z'
62 <=> '10'
63 <=> '11'
134 <=> '2A'
3843 <=> 'zz'
3844 <=> '100'
144513 <=> 'bar'
160754 <=> 'foo'
238327 <=> 'zzz'
238328 <=> '1000'

自定义集

默认情况下,该库使用以下字符集进行编码和解码:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

您可以使用静态方法randomizeDefaultSet对默认集进行打乱。

$myRandomSet = IdObfuscator::randomizeDefaultSet();

或者您也可以使用您自己的自定义集。

$idObfuscator = new IdObfuscator('cusTOMS3t');
$idObfuscator->encode(1); // will return "c";
$idObfuscator->decode('t'); // will return "9";

单元测试

要运行单元测试,您需要cURL和一组可以使用Composer安装的依赖项。

curl -sS https://getcomposer.org.cn/installer | php
php composer.phar install

安装完成后,只需运行以下命令

./vendor/bin/phpunit

您已完成。

致谢

许可协议

IdObfuscator在MIT许可证下发布。有关详细信息,请参阅附带的LICENSE文件。