亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

一個(gè) PHP 擴(kuò)展: 根據(jù)數(shù)字生成唯一的字符串 ID

G9YH / 2304人閱讀

摘要:是一個(gè)可以生成唯一的非順序的字符串號(hào)碼,它還可以對(duì)這些進(jìn)行解密,你可以利用它來(lái)加密你不想暴露給用戶的數(shù)字。安裝你可以設(shè)置一些選項(xiàng)在里,或者你也可以在構(gòu)造方法里面設(shè)置,但是我推薦你在中設(shè)置,這樣你可以擁有更好的性能。

Hashids 是一個(gè)可以生成唯一的非順序的字符串 ID 號(hào)碼,它還可以對(duì)這些 ID 進(jìn)行解密,你可以利用它來(lái)加密你不想暴露給用戶的數(shù)字 ID。
安裝
$ git clone https://github.com/cdoco/hashids.phpc.git
$ cd hashids.phpc
$ phpize && ./configure && make && make install

你可以設(shè)置一些選項(xiàng)在 php.ini 里,或者你也可以在構(gòu)造方法里面設(shè)置,但是我推薦你在 php.ini 中設(shè)置,這樣你可以擁有更好的性能。

[hashids]
extension=hashids.so

//默認(rèn)是空字符串
hashids.salt=cdoco

//默認(rèn)長(zhǎng)度是 0
hashids.min_hash_length=20

//默認(rèn)是 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
//你可以自己設(shè)置它,比如你使用全部小寫的字符
hashids.alphabet=abcdefghijklmnopqrstuvwxyz
快速開(kāi)始
$hashids = new Hashids();

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

//或者你可以用靜態(tài)方法調(diào)用
$hash = Hashids::encode(1, 2, 3, 4, 5); // ADf9h9i0sQ
$numbers = Hashids::decode($hash); // [1, 2, 3, 4, 5]
性能

原來(lái)有純 php 代碼實(shí)現(xiàn)的一個(gè)功能,現(xiàn)在把它封裝成了一個(gè) php 擴(kuò)展,性能比純 php 的版本提升了百倍左右

其他
$hashids = new Hashids();

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

構(gòu)造方法的參數(shù)

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

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

16 進(jìn)制加密和解密

$hashids = new Hashids();

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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/28605.html

相關(guān)文章

  • PHP和Python生成短鏈接服務(wù)符串ID

    摘要:使用進(jìn)制也能生成比較短的字符串唯一,不過(guò)還有更好的解決方案,你也看到了上面短鏈接的唯一里還包含大寫字母。接下來(lái)我們使用進(jìn)制轉(zhuǎn)換,將一個(gè)十進(jìn)制數(shù)字轉(zhuǎn)化為對(duì)應(yīng)的進(jìn)制表示。一億用進(jìn)制表示出來(lái)后的結(jié)果是生成的唯一字符串足夠短。 假設(shè)你想做一個(gè)像微博短鏈接那樣的短鏈接服務(wù),短鏈接服務(wù)生成的URL都非常短例如: http://t.cn/E70Piib, 我們應(yīng)該都能想到鏈接中的E70Piib對(duì)應(yīng)的...

    蘇丹 評(píng)論0 收藏0
  • PHP和Python生成短鏈接服務(wù)符串ID

    摘要:使用進(jìn)制也能生成比較短的字符串唯一,不過(guò)還有更好的解決方案,你也看到了上面短鏈接的唯一里還包含大寫字母。接下來(lái)我們使用進(jìn)制轉(zhuǎn)換,將一個(gè)十進(jìn)制數(shù)字轉(zhuǎn)化為對(duì)應(yīng)的進(jìn)制表示。一億用進(jìn)制表示出來(lái)后的結(jié)果是生成的唯一字符串足夠短。 假設(shè)你想做一個(gè)像微博短鏈接那樣的短鏈接服務(wù),短鏈接服務(wù)生成的URL都非常短例如: http://t.cn/E70Piib, 我們應(yīng)該都能想到鏈接中的E70Piib對(duì)應(yīng)的...

    int64 評(píng)論0 收藏0
  • php唯一ID生成相關(guān)事宜

    摘要:原文地址唯一的生成并不是一件小事想說(shuō)愛(ài)它也并不是像簡(jiǎn)單來(lái)一個(gè)這樣一件容易的事為什么要唯一數(shù)據(jù)庫(kù)的自增在分庫(kù)的時(shí)候會(huì)是一場(chǎng)災(zāi)難假設(shè)分兩個(gè)庫(kù)因?yàn)槊總€(gè)庫(kù)都會(huì)開(kāi)始從開(kāi)始自增屆時(shí)系統(tǒng)中將會(huì)出現(xiàn)兩個(gè)為的用戶自增會(huì)暴露用戶量或者其他業(yè)務(wù)量自增會(huì)讓有心者 [原文地址:https://blog.ti-node.com/blog...] 唯一ID的生成并不是一件小事 , 想說(shuō)愛(ài)它 , 也并不是像簡(jiǎn)單來(lái)一個(gè)...

    pepperwang 評(píng)論0 收藏0
  • Mongodb 中 _id 和 ObjectId

    摘要:和中存儲(chǔ)的文檔必須有一個(gè)鍵。這是的創(chuàng)建方式導(dǎo)致的。由于時(shí)間戳在前,這意味著大致會(huì)按照插入的順序排列。前字節(jié)保證了同一秒鐘不同機(jī)器不同進(jìn)程產(chǎn)生的是唯一的。如果驅(qū)動(dòng)程序允許服務(wù)器生成,那么將需要單獨(dú)的查詢,以確定插入的文檔中的值。 _id和ObjectId MongoDB 中存儲(chǔ)的文檔必須有一個(gè)_id 鍵。這個(gè)鍵的值可以是任何類型的,默認(rèn)是個(gè)ObjectId 對(duì)象。在一個(gè)集合里面,每個(gè)文檔...

    xfee 評(píng)論0 收藏0
  • MongoDB指南---3、MongoDB基礎(chǔ)知識(shí)-數(shù)據(jù)類型

    摘要:如將構(gòu)造函數(shù)作為函數(shù)進(jìn)行調(diào)用即不包括的方式,返回的是日期的字符串表示,而非日期對(duì)象。如果不注意這一點(diǎn),沒(méi)有始終使用日期構(gòu)造函數(shù),將得到一堆混亂的日期對(duì)象和日期的字符串。關(guān)于日期類的完整解釋,以及構(gòu)造函數(shù)的參數(shù)格式,參見(jiàn)規(guī)范節(jié)。 上一篇文章:MongoDB指南---2、MongoDB基礎(chǔ)知識(shí)-文檔、集合、數(shù)據(jù)庫(kù)、客戶端下一篇文章:MongoDB指南---4、MongoDB基礎(chǔ)知識(shí)-使用M...

    aervon 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<