discuz php是用什么加密

discuz php是用什么加密,第1张

discuz注册时,会把密码按一个规则加密。

比如我的密码是123456

复制代码 代码如下:

echo md5("123456");

会输出:

复制代码 代码如下:

e10adc3949ba59abbe56e057f20f883e

而数据库的值却为:

复制代码 代码如下:

7839dc9437013b5c11a5d86e9b8350e9

注意到:

有个叫salt的字段,其值为:d82a35

其实这是一个随机的字符串。

第一次md5后的值再加上盐值(salt)再进行md5,就是要得到的值了。

试一下

复制代码 代码如下:

echo md5(md5('123456')'d82a35');

这回结果是:7839dc9437013b5c11a5d86e9b8350e9,是对的。

在php55之前的版本,并没有很好的加密机制。这是个不错的方式。已经大大地加强了密码的安全性了。

而php55中有更为可靠和方便的加密方式。喜欢钻研的朋友可以了解一下:

password_hash()

把这段密文分割成若干段,对每段都进行一次MD5运算,然后把这堆密文连成一个超长的字符串,最后再进行一次MD5运算,得到仍然是长度为32位的密文。

<php

//把密文分割成两段,每段16个字符

function md5_2_1($data)

{

//先把密码加密成长度为32字符的密文

$data = md5($data);

//把密码分割成两段

$left = substr($data, 0, 16);

$right = substr($data, 16, 16);

//分别加密后再合并

$data = md5($left)md5($right);

//最后把长字串再加密一次,成为32字符密文

return md5($data);

}

//把密文分割成32段,每段1个字符

function md5_2_2($data)

{

$data = md5($data);

//循环地截取密文中的每个字符并进行加密、连接

for ($i = 0; $i < 32; $i++) {

$data = md5($data{$i});

}

//这时$data长度为1024个字符,再进行一次MD5运算

return md5($data);

}

>

原生的加密函数 还是对PHP源文件加密啊?

函数有

md5()

md5_file()

crypt()

sha1()

sha1_file() 等等吧。。。具体的你要查下

PHP源文件加密是ZEND

以上就是关于discuz php是用什么加密全部的内容,包括:discuz php是用什么加密、php中如何使用MD5加密、php 一共有几种加密方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9778977.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存