id 加密使用的是 [Hashids](http://hashids.org/),支持自定义字符串库和生成加密字符串的长度,使用对称加密,详细介绍请到Hashids官网查看 [http://hashids.org/](http://hashids.org/)
##配置
```
return [
// Hashids 的配置项
'length' => 8, // 加密字符串长度
'salt' => 'tpadmin', // 加密盐值
'alphabet' => '', // 字符仓库,不填写默认为扩展里的字符仓库
];
```
##方法
`\Hashids\Hashids::instance($length = null, $salt = null, $alphabet = null)`
```
// id 加密
\Hashids\Hashids::instance($length = null, $salt = null, $alphabet = null)->encode($id)
// id 解密
\Hashids\Hashids::instance($length = null, $salt = null, $alphabet = null)->decode($hashedStr)
```
##参数
| 名称 | 类型 | 说明 |
| --- | --- | --- |
| length | int | 加密生成字符串长度 |
| salt | string | 加密盐值 |
| alphabet | string | 加密用到字符串的字符串库 |
##使用示例
```
$id = $this->request->post("id");
$hashids = \Hashids\Hashids::instance(8, "tpadmin");
$encode_id = $hashids->encode($id); //加密
$decode_id = $hashids->decode($encode_id); //解密
return ajax_return_adv("操作成功", '', false, '', '', ['encode' => $encode_id, 'decode' => $decode_id]);
```
##助手函数
`hashids($length = null, $salt = null, $alphabet = null)`
```
hashids($length=null,$salt=null,$alphabet=null)->encode('你的字符串')
hashids($length=null,$salt=null,$alphabet=null)->decode('需要解密的字符串')
```
- 概要
- 开始使用
- 写在前面
- 目录结构
- 模板主题支持
- 前置方法before支持
- 数据返回
- 异常接管
- Rbac 权限管理
- 开始使用
- 用户管理
- 分组管理
- 节点管理
- 角色管理
- 使用流程
- 其他
- 代码自动生成 v1.2
- 示例一 - 一级控制器
- 示例二 - 多级控制器
- 示例三 - 从数据表生成
- 示例四 - 指定生成的文件
- 示例五 - 命令行模式
- 示例六 - 模拟命令行模式
- 代码自动生成
- 示例一 - 一级控制器
- 示例二 - 多级控制器
- 控制器
- 公共控制器
- traits 多继承 Controller
- 公开不授权控制器
- 其他控制器
- 标签扩展
- 模板
- 网站操作日志
- 节点图
- 行为驱动
- 其他后端方法
- Excel一键导出
- Excel一键导入
- 文件下载
- 邮件发送
- 七牛文件上传
- id加密
- 前端
- ajax请求
- 表单校验
- 丰富弹层
- 异步操作
- 表格溢出
- 随机字符串
- 自动面包屑导航
- 动态加载文件
- 文件上传
- Tab 切换
- 图片预览
- 二维码生成
- 日历组件
- 升级指导
- 更新日志
- FAQ