[toc]
## 加解密
```
$pwd = '123456';
$hash = password_hash($pwd, PASSWORD_DEFAULT);
if (!password_verify('123', $hash)) {
echo '密码错误';
} else {
echo '密码正确';
}
```
自动加盐值且不需要保存盐值
## 过滤输入
### html
1. `htmlentities`该函数会将所有HTML标签字符(&、<、>等)转化为对应的HTML实体
2. `html_entity_decode`将所有html实体转换成html
3. `htmlspecialchars`、`htmlspecialchars_decode`
4. `strip_tags`去除所有html标签
## 验证输入
### filter_var
可用于验证布尔值、电子邮件地址、浮点数、整数、IP、正则表达式和URL
~~~
<?php
$input = 'xxx@163.com';
$isEmail = filter_var($input, FILTER_VALIDATE_EMAIL);
if ($isEmail !== FALSE) {
echo 'success';
} else {
echo 'failed';
}
~~~
### 组件
* [aura/filter](https://packagist.org/packages/aura/filter)
* [respect/validation](https://packagist.org/packages/respect/validation)
* [symphony/validator](https://packagist.org/packages/symfony/validator)
- php
- 安全
- php7
- 特性
- 编译安装
- 源码整体框架
- 基本变量
- thinkphp3.2.3
- thinkphp5.0
- thinkphp6.0
- laravel
- 配置
- 路由
- artisan控制台
- eloquent
- tinker
- composer
- 加密解密
- 小知识点
- 数组
- string
- 代码简洁之道
- 编译
- 语法糖
- lumen
- smarty
- 错题集
- 算法及数据结构
- 线性表结构
- 插入排序
- 冒泡排序
- 数据库
- mysql
- oracle
- PostgreSQL
- redis
- sqlserver
- 前端
- 备忘
- js
- nodejs
- vue
- css
- electron
- vue
- 语法糖
- colorui使用笔记
- 微信小程序
- 操作系统
- windows
- bat
- 快捷键
- linux
- sed
- 问题解决
- git
- docker
- docker-compose
- 正则表达式
- ps
- lua
- 协议相关
- 问题思索
- Golang
- 测试
- 读取和写入json配置文件
- 类
- 接口
- mod
- gin
- fyne
- 禅道二次开发
- 服务
- apache
- 漏洞配置
- http server优化
- nginx
- 安装
- 面试题库
- freeswitch