PHP数据加密技术之一---MD5()和Sha1()加密
来源:互联网 发布:加强我国网络文化建设 编辑:程序博客网 时间:2024/09/21 08:48
PHP数据加密技术
Md5()和Sha1()加密算法是单向的,不存在逆向函数得到原来的明文数据
算法调用:
string md5 ( string $str [, bool $raw_output = false ] )
string Sha1 ( string $str [, bool $raw_output = false ] )
参数
str
原始字符串。
raw_output
如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回。
返回值
MD5()以 32 字符十六进制数字形式返回散列值。
Sha1()以 40 字符十六进制数字形式返回散列值。
<?php
$p = "123456";
echo md5($p);
?>
它的输出结果如下:
e10adc3949ba59abbe56e057f20f883e
但是这样使用md5()函数是非常不安全的,如此,大家可以到百度上搜索md5解密,会发现存在解密的网站:
如此可见直接向上面那样使用md5()函数是不安全的。虽然md5算法是不可逆的,但是因为它对同一个字符
串计算的结果是唯一的,所以一些人可能会使用“字典攻击”的方式来攻破md5加密的系统。这虽然属于暴力解密,却十分有效,因为大多数系统的用户密码都不回很长所以我们的md5编码成的最终数据可以通过一些网站破解:
很显然,被破解了,直接使用md5()这个算法是不够复杂的,然后代码修改如下:
<?php
$p = "123456";
echo md5(md5($p).md5($p));
?>
打印出的结果:
efd52a4f82c94f80f13671ebd7cd2a6d
到网站破解:
很明显,他的结果是错误的,我们的密码是123456而不是零。
我们在一个md5()函数的基础上可以通过多层md5()算法进行加密,因为他是单向的,也许大家疑惑为什么网站能够破解,其实网站的就是暴力破解,他们是不断的保存各种编码和密码然后再进行匹配最终得到密码。
- PHP数据加密技术之一---MD5()和Sha1()加密
- md5加密和sha1加密
- SHA1和MD5加密
- MD5 和 SHA1 加密
- php使用MD5和SHA1进行加密
- PHP数据加密技术之一---CRYPT()加密
- HMAC-SHA1加密 和MD5加密
- md5和sha1加密,aes加密
- HMAC-SHA1加密 和MD5加密
- MD5加密和SHA1加密 事列
- 关于PHP中的sha1和md5的加密函数
- PHP数据加密技术之一---URL编码加密技术
- 使用MD5和SHA1算法对数据进行加密
- JAVA 如何使用 MD5 和SHA1进行数据加密
- 数据安全,MD5、SHA1加密字符串
- Java数据加密(MD5,sha1,sha256)
- MD5加密及sha1加密
- SHA1、MD5、DES加密
- 【hdu 5635】LCP Array 中文题意&题解&代码(C++)
- iOS运行时机制之消息处理机制
- Win32学习笔记 - WndProc回调函数
- linux ext4无法使用超过16T磁盘的解决办法
- 如何创建带子模块的Maven Web工程
- PHP数据加密技术之一---MD5()和Sha1()加密
- hdoj--5612--Baby Ming and Matrix games(dfs)
- invisible visible gone
- IQKeyboardManager(自动处理键盘事件)
- 静态和实例
- unity中关于图形学的基础知识(一)
- halo world ))) uva 10934 droping water
- MySQL批量SQL插入性能优化
- 目标检测的图像特征提取之(二)LBP特征