## 加解密組件hashids/hashids
### 問題較多,需要在完善
### 不依賴其他擴展包
- http://www.04007.cn/article/803.html
- http://www.lseventt.com/archives/1659.html
Hashids是一個能利用整數生成出短小、唯一、非連續標識符的類庫,它支持包含php在內的好多好多(真的好多)種語言。
Hashids支持通過生成出來的標識符進行解碼為原數字,還支持加鹽加密,不會因為大家都用這個類庫就被猜到真實ID。
直接上代碼看超簡單的用法:
~~~
$id = 123;
$hashids = new Hashids\Hashids();
// 編碼
$hashID = $hashids->encode($id);
// 解碼
$decodeResult = $hashids->decode($hashID);
var_dump($hashID, $decodeResult);
// 數組編碼
$hashID = $hashids->encode([1, 2, 3]);
// 數組解碼
$decodeResult = $hashids->decode($hashID);
var_dump($hashID, $decodeResult);
// 加鹽編碼
$hashids = new Hashids\Hashids('我是鹽');
// 編碼
$hashID = $hashids->encode($id);
// 解碼
$decodeResult = $hashids->decode($hashID);
var_dump($hashID, $decodeResult);
~~~
當然,初步了解下來,宇潤也發現了不少問題。
首先2.0版本在composer配置中設置了不再兼容php<5.6.4,但是經過實驗,5.4版本依然能用。有相關需求的用戶不要被這個版本限制嚇到了。
然后就是hashids支持自定義字典,也就是生成出的編碼允許使用哪些字符。這個自定義字典必須包含16個以上字符,否則會拋出異常。在當我把hashids代碼中的判斷注釋后測試發現依然能編碼解碼沒毛病。
只能說問題還是不少的,有相關需求的用戶可以fork后自行修改代碼。總的來說hashids還是很不錯的!
github:https://github.com/ivanakimov/hashids.php
composer:hashids/hashids
- 說明
- PHP快遞模式(一鍵同步多服務器程序文件)
- 多服務器文件md5對比
- 差異文件打包壓縮
- 上傳壓縮包
- 接收壓縮包
- 下載壓縮包
- 解壓覆蓋文件
- 數據庫同步
- 數據字典與數據庫創建
- 數據表測試數據
- 文件對比方法
- think-orm包
- think-orm數據操作模型包
- think-orm數據庫操作包
- think-migration數據庫遷移包
- think-migration數據庫填充數據
- think-migration數據庫創建數據表
- think-migration數據庫查詢數據
- Phinx數據庫遷移包
- Phinx數據庫填充數據
- Phinx數據庫創建數據表
- Phinx數據庫查詢數據
- 統一生成數據表,模型與數據表數據包
- 統一生成數據表
- 統一生成數據表數據
- 統一生成數據表模型
- 在線文檔與測試服務
- 自動生成api接口在線測試
- 自動生成api在線文檔
- 自動生成api接口ajax測試示例
- 管理后臺頁面(可以多個)
- 后臺首頁
- 后臺配置頁面
- 列表頁面
- 表單頁面
- 樹狀列表頁面
- 樹狀表單頁面
- 管理后臺程序
- 樹狀表單添加與修改保存
- 一般表單添加與修改保存
- 樹狀列表展示
- 一般列表
- 配置頁面
- 文件壓縮與解壓
- 文件壓縮
- 文件解壓
- 仿token操作
- 生成token
- 解析token
- 加解密組件hashids/hashids
- 隨機事件
- 隨機數生成
- 隨機字符串
- 隨機中文字符串
- 隨機中文姓名
- 隨機密碼串
- redis操作
- 異步操作
- 后臺表單操作
- 后臺列表頁面操作
- 模板文件生成新文件操作
- 按模板生成文件
- 生成模型文件
- 生成門面類
- 字符串操作
- 字符串包含
- 字符串排除前一個字符
- 字符串排除前N個字符
- 字符串排除前面一個字符串
- 字符串排除后一個字符
- 字符串排除后N個字符
- 字符串排除后面一個字符串
- 字符串截取
- 數組操作
- 交集
- 并集
- 差集
- 時間戳操作
- 上個月第一天日期
- 上個月最后一天日期
- 本月第一天日期
- 本月最后一天日期
- 下個月第一天日期
- 下個月最后一天日期
- 日期和時間處理組件-Carbon手冊
- 日期和時間處理組件-Carbon
- PHP 使用Carbon擴展進行時間處理
- Carbon類
- bootstrap操作
- 表格
- 警告框
- 徽章
- 文件操作
- 文件上傳
- 圖片操作
- 圖片上傳
- 圖片壓縮
- 圖片水印
- intervention/image使用
- log日志操作
- url操作
- url生成實例
- url解析實例
- 樹狀操作
- workerman操作
- 數據庫備份
- 門面操作
- 門面操作測試
- 數據字典生成
- 二維碼操作
- 二維碼生成
- logo二維碼
- think-cache緩存
- phpoffice/phpexcel使用
- Curl采集包
- 使用Guzzle執行HTTP請求
- fzaninotto/Faker中文填充數據表
- 安裝faker
- Faker創建假數據
- Faker基礎數據(英文)
- faker的Lorem(中文)
- 生成Person人物信息
- 生成Address地址信息
- 生成手機號Phone Number
- 生成公司Company信息
- 生成其他中文信息
- 生成時間日期Datetime