Extension PHP pour générer un ID de chaîne unique basé sur des nombres

不言
Libérer: 2023-03-23 18:22:01
original
2277 Les gens l'ont consulté

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.

Installation

$ git clone https://github.com/cdoco/hashids.phpc.git
$ cd hashids.phpc
$ phpize && ./configure && make && make install
Copier après la connexion

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
Copier après la connexion

Démarrage rapide

$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]
Copier après la connexion

Performances

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

Extension PHP pour générer un ID de chaîne unique basé sur des nombres

Autres

$hashids = new Hashids();

$hash = $hashids->encode(1, 2, 3, 4, 5); // ADf9h9i0sQ
$hash = $hashids->encode([1, 2, 3, 4, 5]); // ADf9h9i0sQ
Copier après la connexion

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');
Copier après la connexion

Cryptage et déchiffrement hexadécimal

$hashids = new Hashids();

$hash = $hashids->encodeHex('FFFFDD'); // rYKPAK
$hex = $hashids->decodeHex($hash); // FFFFDD
Copier après la connexion

                                                                                              

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal