PHP中加密形式及算法介绍

1.Md5()加密算法——单向加密,不能解密

语法:String md5(string $str,$raw=false),

$str:必需。规定要计算的字符串,

$raw:可选。规定十六进制或二进制输出格式:

  • TRUE - 原始 16 字符二进制格式
  • FALSE - 默认。32 字符十六进制数

返回值:如果成功则返回已计算的MD5散列,如果失败则返回FALSE

2.Crypt()加密算法——同样是单向加密

语法:string crypt(string $str,string,$salt),

$str:必需。规定要计算的字符串,

$salt可选。用于增加被编码字符数目的字符串,以使编码更加安全。如果未提供 salt 参数,则每次调用该函数时 PHP 会随机生成一个。

返回值:返回一个基于标准UNIX DES算法或系统上其他可用的代替算法的散列字符串

例子:1.crypt('zhangsan');--输出 $1$aX3.sX0.$PcFaGWCv51UNO.1eIvMpy0(最前边的$1$aX3.sX0.$为随机给的字符串)

           2.crypt('zhangsan','we');--输出 weGSA6nisE59k(“we”是不变的)

支持的多种PHP设置的算法:

3.Sha1()加密算法(单向加密)

语法:String sha1(string $str,$raw_output=false),

$str :加密的字符串

$raw_output:如果可选的raw_output 参数被设置为TRUE,那么 sha1 摘要将以 20 字符长度的原始格式返回,否则返回值是一个 40 字符长度的十六进制数字。

返回值:sha1散列值字符串

注意:同md5一样 百度上边部分解密网站是可以参照他提前录好的密文与咱们输入的密文进行比较,从而得到明文,但不是真正意义的破解,进行多次加密可以预防这个事情的发生。

4.URL编码加密算法——双向

一、urlencode(string $str):编码URL字符串,$str:要编码的字符串 返回值:返回编码后的字符串

编码规范:此字符串中出来-_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)

常用的字符被编码后,括号里代表编码后的格式:?(%3F),=(%3D),空格(+),%(%25),&(%26),\(%5C),+(%2B)  

二、urldecode(string $str):解码已编码的URL字符串,$str:要解码的字符串 返回值:返回解码后的字符串

注意:rawurlencode编码 rawurldecode解码 跟上边的urlencode urldecode 道理及用法完全相同,唯一的区别:rawurlencode把空格编码成%20

5.Base64编码加密技术——双向

一、base64_encode(string $data):使用base64对data进行编码

二、base64_decode(string $data,$strict=false):对使用base64编码的数据进行解码,$strict如果输入的数据超过了base64字母表,则返回false

总结:大致的加密技术可以分为以下三种

1.单向散列加密

2.对称散列加密

3.非对称散列加密

想了解更多的小伙伴自行百度吧,以上内容纯手打,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一捧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值