Php 我的盐安全吗?

Php 我的盐安全吗?,php,algorithm,encryption,coding-style,Php,Algorithm,Encryption,Coding Style,我想知道我的PHP盐对于开源也是安全的吗?我试图搜索更多的信息,但我无法找到我需要知道的 我的代码: <?php class salter { // this will create 3 ciphiers in order to make hashes clearly unreadable! (I hope...) public function simpleSalt($password) { $salttypes = array ( "92jX324BO

我想知道我的PHP盐对于开源也是安全的吗?我试图搜索更多的信息,但我无法找到我需要知道的

我的代码:

<?php
class salter {

// this will create 3 ciphiers in order to make hashes clearly unreadable! (I hope...)
public function simpleSalt($password) {
    $salttypes = array (
            "92jX324BO(091jäZ",
            "ðáßk2a-jN9úá¡’A5R",
            "çíó‘’j(#)hAdH28sZV" 
    );
    $salt1 = $salttypes[0];
    $salt2 = $salttypes[1];
    $salt3 = $salttypes[2];

    $pepper = crypt($salt1);
    $moarpepper = crypt(salt2);
    $salt = crypt(salt3);

    return md5(bin64_encrypt($pepper + $moarpepper + sha1($password) + $salt));
}
}

?>

我计划为这个表使用一个特殊的字符集,但我的问题是这会使破解哈希变得更困难还是更容易?由于我也计划将其开源,我担心这可能是一个错误的衡量标准


p、 s我对salting非常陌生

这个问题似乎离题了,因为它是一个代码审查请求。这更适合于salt应该是随机的,并且每个密码都是唯一的。双重散列也是一个坏主意,md5是一个坏主意远离
md5
(这是通行证)-“胡椒”总是给任何东西增加(好)味道;-)md5不安全。为什么不直接使用
password\u hash
()?每次设置密码时随机生成一个新的salt,并将其与密码一起存储。不要使用确定性的东西来生成盐(例如不要散列当前时间)。