相关疑难解决方法(0)

为PHP密码保护哈希和盐

目前据说MD5部分不安全.考虑到这一点,我想知道用于密码保护的机制.

这个问题,"双重哈希"密码是否比仅仅哈希一次更安全? 建议多次散列可能是一个好主意,而如何实现单个文件的密码保护?建议使用盐.

我正在使用PHP.我想要一个安全快速的密码加密系统.散列密码一百万次可能更安全,但也更慢.如何在速度和安全性之间取得良好的平衡?另外,我更喜欢结果具有恒定数量的字符.

  1. 散列机制必须在PHP中可用
  2. 它必须是安全的
  3. 它可以使用盐(在这种情况下,所有的盐都同样好吗?有没有办法产生好的盐?)

另外,我应该在数据库中存储两个字段(例如,一个使用MD5,另一个使用SHA)?它会使它更安全或更不安全吗?

如果我不够清楚,我想知道使用哪种散列函数以及如何选择好的盐以便拥有安全和快速的密码保护机制.

相关问题并不完全涵盖我的问题:

PHP中的SHA和MD5有什么区别
简单密码加密
存储密钥的安全方法,asp.net的密码
如何在Tomcat 5.5中实现salted密码

php security passwords hash protection

1142
推荐指数
13
解决办法
21万
查看次数

PHP随机字符串生成器

我正在尝试在PHP中创建一个随机字符串,我绝对没有输出:

<?php
    function RandomString()
    {
        $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
        $randstring = '';
        for ($i = 0; $i < 10; $i++) {
            $randstring = $characters[rand(0, strlen($characters))];
        }
        return $randstring;
    }

    RandomString();
    echo $randstring;
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

php string random

772
推荐指数
27
解决办法
117万
查看次数

如何用PHP生成随机密码?

或者是否有自动生成随机密码的软件?

php random passwords

37
推荐指数
4
解决办法
9万
查看次数

在PHP中保护随机数生成

使用案例:"我忘了密码"按钮.我们找不到用户的原始密码,因为它以散列形式存储,因此唯一要做的就是生成一个新的随机密码并通过电子邮件发送给他.这需要加密不可预测的随机数,mt_rand不够好,通常我们不能假设托管服务将提供访问操作系统以安装加密随机数模块等所以我正在寻找一种方法在PHP本身生成安全的随机数.

到目前为止我提出的解决方案涉及存储初始种子,然后为每次调用,

result = seed
seed = sha512(seed . mt_rand())
Run Code Online (Sandbox Code Playgroud)

这是基于SHA512哈希函数的安全性(该mt_rand电话只是为了让生活多一点对谁获得数据库的副本对手困难).

我错过了什么,还是有更好的解决方案?

php security random hash

33
推荐指数
3
解决办法
3万
查看次数

如何为我的密码输入字段激活 Google Chrome 密码生成器?

我注意到谷歌在某些网站上询问我是否想使用 Chrome 生成的密码。

我自己的输入字段不会发生这种情况。

我怎样才能做到这一点?

例子

html passwords google-chrome input generator

13
推荐指数
1
解决办法
7159
查看次数

密码安全随机字符串函数

目标:找到最加密的安全随机字符串生成器.在字符串中使用字母,数字和可能的特殊字符.

我一直在这里和其他地方读书,但我仍然听到很多不同的答案/意见.那些对安全性和加密技术有最新知识且知识渊博的人可以在这里发出声音.

以下函数将用于生成8个字符的随机密码,并生成128个字符的随机令牌.

功能1:

/**
 * Used for generating a random string.
 *
 * @param int $_Length  The lengtyh of the random string.
 * @return string The random string.
 */
function gfRandomString($_Length) {
    $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
    $pass = array(); //remember to declare $pass as an array
    $alphaLength = strlen($alphabet) - 1; //put the length -1 in cache
    for ($i = 0; $i < $_Length; $i++) {
        $n = rand(0, $alphaLength);
        $pass[] = $alphabet[$n];
    }
    return implode($pass); //turn the array into …
Run Code Online (Sandbox Code Playgroud)

php security random cryptography

4
推荐指数
1
解决办法
2768
查看次数

在PHP中生成随机代码?

我知道这可能看起来很傻,但我想生成一个8个characetrs的随机代码,只使用php的数字或字母.我需要这个为每个注册的用户生成一个密码,谢谢

php random

2
推荐指数
3
解决办法
4万
查看次数

没有bind_param的mysqli准备语句

我有这个代码用于fname从用户表上的最新记录中进行选择。

$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
$sdt=$mysqli->('SELECT fname FROM user ORDER BY id DESC LIMIT 1');
$sdt->bind_result($code);
$sdt->fetch();
echo $code ;
Run Code Online (Sandbox Code Playgroud)

我之前使用过准备好的语句bind_param,但是现在在上面的代码中我第一次想使用不带绑定参数的准备好的语句,我不知道如何在不使用bind_param(). 怎么做?

php mysqli

1
推荐指数
1
解决办法
7537
查看次数

如何在php中制作一个每次至少包含一个大写字母、小写字母、特殊字符和数字的随机密码生成器

我正在尝试做标题所说的事情,这就是我能弄清楚如何在 php 中做的所有事情。

<?php 
    $random = substr(md5(mt_rand()), 0, 8
    echo $random;
?>
Run Code Online (Sandbox Code Playgroud)

php random passwords generator

0
推荐指数
1
解决办法
4705
查看次数