Maison > Article > développement back-end > Extension PHP pour générer un ID de chaîne unique basé sur des nombres
Le contenu partagé avec vous dans cet article est une extension PHP qui génère un identifiant de chaîne unique basé sur des nombres. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer
Les hashids sont une méthode qui. peut générer des identifiants de chaîne uniques, des numéros d'identification de chaîne non séquentiels, il peut également déchiffrer ces identifiants, vous pouvez l'utiliser pour crypter les identifiants numériques que vous ne souhaitez pas exposer aux utilisateurs.
$ git clone https://github.com/cdoco/hashids.phpc.git $ cd hashids.phpc $ phpize && ./configure && make && make install
Vous pouvez définir certaines options dans php.ini, ou vous pouvez les définir dans le constructeur, mais je vous recommande de les définir dans php.ini afin que vous puissiez avoir de meilleures performances.
[hashids] extension=hashids.so //默认是空字符串 hashids.salt=cdoco //默认长度是 0 hashids.min_hash_length=20 //默认是 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 //你可以自己设置它,比如你使用全部小写的字符 hashids.alphabet=abcdefghijklmnopqrstuvwxyz
$hashids = new Hashids(); $hash = $hashids->encode(1, 2, 3, 4, 5); // ADf9h9i0sQ $numbers = $hashids->decode($hash); // [1, 2, 3, 4, 5] //或者你可以用静态方法调用 $hash = Hashids::encode(1, 2, 3, 4, 5); // ADf9h9i0sQ $numbers = Hashids::decode($hash); // [1, 2, 3, 4, 5]
Auparavant, c'était une fonction implémentée par du code php pur, mais maintenant elle est encapsulée dans une extension php, et les performances sont meilleures que celles du code php pur. La version de php a été améliorée d'une centaine de fois
$hashids = new Hashids(); $hash = $hashids->encode(1, 2, 3, 4, 5); // ADf9h9i0sQ $hash = $hashids->encode([1, 2, 3, 4, 5]); // ADf9h9i0sQ
Paramètres de la méthode de construction
new Hashids(string $salt, int $min_hash_length, string $alphabet); //example new Hashids("this is salt.", 20, 'abcdefghijklmnopqrstuvwxyz');
Cryptage et déchiffrement hexadécimal
$hashids = new Hashids(); $hash = $hashids->encodeHex('FFFFDD'); // rYKPAK $hex = $hashids->decodeHex($hash); // FFFFDD
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!