>  기사  >  백엔드 개발  >  숫자를 기반으로 고유한 문자열 ID를 생성하는 PHP 확장

숫자를 기반으로 고유한 문자열 ID를 생성하는 PHP 확장

不言
不言원래의
2018-04-13 16:01:282267검색

이 글의 내용은 숫자를 기반으로 고유한 문자열 ID를 생성하는 PHP 확장 프로그램을 공유하는 것입니다. 특정 참조 값이 있습니다. 필요한 친구가 이를 참조할 수 있습니다.

Hashid는 고유한 비순차적 문자열 ID입니다. 번호를 생성할 수 있으며, 이러한 ID를 해독할 수도 있고, 사용자에게 노출하고 싶지 않은 디지털 ID를 암호화하는 데 사용할 수도 있습니다.

Installation

$ git clone https://github.com/cdoco/hashids.phpc.git
$ cd hashids.phpc
$ phpize && ./configure && make && make install

일부 옵션은 php.ini에서 설정할 수도 있고, 생성자에서 설정할 수도 있는데, 더 나은 성능을 위해서는 php.ini에서 설정하는 것을 추천합니다.

[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]

성능

이전에는 순수 PHP 코드로 구현된 함수였지만 이제는 PHP 확장으로 캡슐화되어 순수 PHP 버전보다 성능이 약 100배 향상되었습니다

숫자를 기반으로 고유한 문자열 ID를 생성하는 PHP 확장

기타

$hashids = new Hashids();

$hash = $hashids->encode(1, 2, 3, 4, 5); // ADf9h9i0sQ
$hash = $hashids->encode([1, 2, 3, 4, 5]); // ADf9h9i0sQ

구성 방법의 매개변수

new Hashids(string $salt, int $min_hash_length, string $alphabet);

//example
new Hashids("this is salt.", 20, 'abcdefghijklmnopqrstuvwxyz');

16 기본 암호화 및 복호화

$hashids = new Hashids();

$hash = $hashids->encodeHex('FFFFDD'); // rYKPAK
$hex = $hashids->decodeHex($hash); // FFFFDD

                                                                                              

위 내용은 숫자를 기반으로 고유한 문자열 ID를 생성하는 PHP 확장의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.