Php 我的盐安全吗?
我想知道我的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
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,并将其与密码一起存储。不要使用确定性的东西来生成盐(例如不要散列当前时间)。