首頁  >  文章  >  後端開發  >  php中透過Hashids將整數轉換為唯一字串

php中透過Hashids將整數轉換為唯一字串

伊谢尔伦
伊谢尔伦原創
2016-12-02 09:09:402577瀏覽

php中透過Hashids將整數轉換為唯一字串

需要在前台隱藏ID 的話,可以考慮使用此產品,生成的id 比較高大上,比較像Youtube、Youku、Weibo之類的id 名,例如:XNjkxMTc0MDQ4

官網:http://hashids. org/php/
Laravel 5 套件:https://github.com/vinkla/hashids

PHP中的簡單實用範例:

$hashids = new Hashids\Hashids('this is my salt');
$id = $hashids->encode(1, 2, 3);
$numbers = $hashids->decode($id);

當然,包包很全,還有Composer package、Laravel 4 package、packLaravel 5 package、Laravel 、CodeIgniter spark、Symfony bundle、Kohana module、Wordpress plugin、CakePHP component、Silex package、Craft plugin featu等等。在官網可以找到連結

也支援JavaScript, Ruby, Python, Java, Scala, PHP, Perl, Swift, Objective-C, C, C++11, Go, Lua, Elixir, ColdFusion, Groovy, Kotlin, Nim, VBA, CoffeeScript and for Node.js & .NET 語言

Laravel 5 使用

使用比較簡單,而且文件說明得已經比較詳細了。

按文檔說明安裝完包後,執行

php artisan vendor:publish

操作來生成配置文件,配置文件路徑:confighashids.php:

'alphabet'=> 'your-alphabet-string'

配置項是你打算讓加密後的字符串裡出現什麼字符,我用的是A-Z、a-z、0-9,後來發現好像與字元順序有關係,生成出來的隨機字串大小寫與數字分佈不太均勻,就使用PHP 的shuffle() 函數打亂一下順序生成了一組新的alphabet,之後看起來就比較高了。

使用範例:

// You can alias this in config/app.php.
use Vinkla\Hashids\Facades\Hashids;
Hashids::encode(4815162342);
// We're done here - how easy was that, it just works!
Hashids::decode('doyouthinkthatsairyourebreathingnow');
// This example is simple and there are far more methods available.


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:php注入實例下一篇:php注入實例