湖北做设计网站的公司:网站安全 PHP中的密码如何加密
来源:孩子教育 浏览量: 发布时间:2022-05-16

湖北做设计网站的公司:网站安全 PHP中的密码如何加密,随着互联网的发展,许多个人和企业都在建设网站,但是真正能把自己的网站建设成功的却不多。因为很多企业或个人在网站建设的过程中,容易忽略一些细节,这就造成了网站建设完成后不是很好做后期工作。建议各企业老板如果打算开发属于自己公司的网站,可以找专业的开发团队,从策划到设计,从测试到维护,都能更加的省时省力,快捷方便好用。下面和小编一起来看看“网站安全 PHP中的密码如何加密”的相关知识内容!

湖北做设计网站的公司:网站安全 PHP中的密码如何加密(图1)

多年专注网站建设与营销推广


  • 湖北做设计网站的公司:网站安全 PHP中的密码如何加密(图2)

    网站优化

    正规seo手段,网站优化安全稳定。

  • 湖北做设计网站的公司:网站安全 PHP中的密码如何加密(图3)

    网站设计

    适应各种屏幕、网站数据同步、电脑/手机/平板/微官网/公众号/小程序等。

  • 湖北做设计网站的公司:网站安全 PHP中的密码如何加密(图4)

    全网营销

    怡橙快排支持百度、百度移动、360、搜狗、神马等国内主流引擎,平台智能计算机每个引擎任务达标率,走势图一目了然。

  • 湖北做设计网站的公司:网站安全 PHP中的密码如何加密(图5)

    软件定制

    从产品调研,到设计,再到服务端及客户端,一切只为了指尖上极致体验。

湖北做设计网站的公司:网站安全 PHP中的密码如何加密

层出不穷的数据库安全事件对用户会造成巨大的影响,因为人们往往习惯在不同网站使用相同的密码,一家“暴库”,全部遭殃!

一般的解决方案。

1、将明文密码做单向

$=5($_[""]);

2、密码+后做单向,内置了()函数,你只需要将加密方式传给()函数就好了。你可以直接指明256,512,5,1等加密方式

  function generateHashWithSalt($password) {

  $intermediateSalt = md5(uniqid(rand(), true));

  $salt = substr($intermediateSalt, 0, 6);

  return hash("sha256", $password . $salt);

  }

  ?>

单向哈希算法有一个特性,无法通过哈希后的摘要()恢复原始数据,常用的单向哈希算法包括-256,-1,5等。例如,对密码“”进行-256哈希后的摘要()如下:

“833278054039140774521250490296395995244”

注意:攻击者可以将所有密码的常见组合进行单向哈希,得到一个摘要组合,然后与数据库中的摘要进行比对即可获得对应的密码。这个摘要组合也被称为。更糟糕的是,一个攻击者只要建立上述的,可以匹配所有的密码数据库。仍然等同于一家“暴库”,全部遭殃。

比较好的解决方案

  function generateHash($password) {

  if (defined("CRYPT_BLOWFISH") && CRYPT_BLOWFISH) {

  $salt = '$2y$11$' . substr(md5(uniqid(rand(), true)), 0, 22);

  return crypt($password, $salt);

  }

  }

  ?>

其实就是和()函数的结合,我们这里通过_判断是否可用,然后像上面一样生成一个盐值,不过这里需要注意的是,()的盐值必须以22或者22开头,详细资料可以参考下面的链接:

是5.5之后才有的新特性,它主要是提供下面几个函数供我们使用

_()–对密码加密.

_()–验证已经加密的密码,检验其字串是否一致.

__()–给密码重新加密.

__()–返回加密算法的名称和一些相关信息.

虽然说()函数在使用上已足够,但是_()不仅可以使我们的代码更加简短,而且还在安全方面给了我们更好的保障,所以,现在的官方都是推荐这种方式来加密用户的密码,很多流行的框架比如就是用的这种加密方式

  $hash = password_hash($passwod, PASSWORD_DEFAULT);?>

_目前使用的就是,知名的还是。这里需要注意的是,如果你代码使用的都是_加密方式,那么在数据库的表中,字段就得设置超过60个字符长度,你也可以使用_,这个时候,加密后字串总是60个字符长度。

这里使用_()你完全可以不提供盐值()和消耗值(),你可以将后者理解为一种性能的消耗值,越大,加密算法越复杂,消耗的内存也就越大。当然,如果你需要指定对应的盐值和消耗值,你可以这样写

  function custom_function_for_salt(){

  return $salt = '$2y$11$' . substr(md5(uniqid(rand(), true)), 0, 22);

  }

  $password =123456;

  $options = [

  'salt' =>___(),//

''=>12//10

];

$=_($,_,$);

$;

?>

密码加密过后,我们需要对密码进行验证,以此来判断用户输入的密码是否正确

   (_($, $)) {

  //

  }

   {

  //

  }

  直接使用_就可以对我们之前加密过的字符串(存在数据库中)进行验证了

  如果有时候我们需要更改我们的加密方式,如某一天我们突然想更换一下盐值或者提高一下消耗值,我们这时候就要使用到__()函数了

  

  if (password_needs_rehash($hash, PASSWORD_DEFAULT, ['cost' =>12])){

//12

$=_($,_,[''=>12]);

//'!

}

只有这样,的才会知道我们重现更换了加密方式,这样的主要目的就是为了后面的密码验证,__(),这个函数一般可以看到下面三个信息

–算法实例

–算法名字

–加密时候的可选参数

湖北做设计网站的公司:网站安全 PHP中的密码如何加密(图6)

湖北做设计网站的公司:网站安全 PHP中的密码如何加密

以上是小编整理的“网站安全 PHP中的密码如何加密”的相关知识内容!,怡橙科技网站建设一站式服务:武汉网站设计制作、公司网站建设、高端网站设计、网站托管维护,助您轻松获取解决方案。想要了解更多“网站安全 PHP中的密码如何加密”的信息,请致电专业商务经理,一对一为您服务,咨询电话:400-960-5068

标签:

网站急速响应

7x24小时网站售后服务

网站免费备案

网站专线1对1服务

网站授权保护

网站防木马入侵

网站研发团队

专访设计团队贴心服务

网站优质性价比

合理网站定价长期合作

公司地址:武汉市东湖新技术开发区茅店山西路8号创星汇科技园D栋509室 24小时客服热线:400-960-5068

版权所有©武汉怡橙网络科技有限公司 PaiKy Network 鄂公网安备 31010702001393鄂ICP备2021014215号-1 网站地图 SITEMAP.TXT