我想为Joomla创建一个自定义注册组件,并且我想知道是否有人知道如何为joomla创建正确的密码加密?的Joomla的密码是这样的:使用PHP来创建一个joomla用户密码?
fbae378704687625a410223a61c66eb1:VM6DwmVWHTwpquDq51ZXjWWADCIc93MR
我相信这是MD5(或其它)和一个单向加密?我只是在寻找一个php代码来创建相同的加密。
干杯
我想为Joomla创建一个自定义注册组件,并且我想知道是否有人知道如何为joomla创建正确的密码加密?的Joomla的密码是这样的:使用PHP来创建一个joomla用户密码?
fbae378704687625a410223a61c66eb1:VM6DwmVWHTwpquDq51ZXjWWADCIc93MR
我相信这是MD5(或其它)和一个单向加密?我只是在寻找一个php代码来创建相同的加密。
干杯
$salt = JUserHelper::genRandomPassword(32);
$crypt = JUserHelper::getCryptedPassword("yourpassword", $salt);
$password = $crypt.':'.$salt;
后多一点搜索,我发现我的答案,谢谢你们的帮助:)
编辑:我忘了提,你需要包括此行在致电JUserHelper之前:
jimport('joomla.user。帮手');
这不适用于joomla 3.4 – 2016-03-20 16:08:31
//function to encrypt the string
function encode5t($str)
{
for($i=0; $i<5;$i++)
{
$str=strrev(base64_encode($str)); //apply base64 first and then reverse the string
}
return $str;
}
//function to decrypt the string
function decode5t($str)
{
for($i=0; $i<5;$i++)
{
$str=base64_decode(strrev($str)); //apply base64 first and then reverse the string}
}
return $str;
}
在这个函数中,我已经加密的字符串5次BASE64_ENCODE和逆转与strrev字符串()和用于通过第一反转字符串然后施加BASE64_DECODE解密5倍()。
**不要做这个!**这不是“加密“无论如何,这是简单的混淆,即使是最基本的攻击者也不会失败。 – 2015-12-14 20:46:51
+1用于存储密码的散列而不是存储密码本身。
为了防止precomputation攻击,您应该使用随机盐。另外,使用我认为在PHP上支持的更强大的哈希算法(如SHA-256)可能是一个好主意。有关更多信息,请参阅Secure hash and salt for PHP passwords。
我不知道PHP,但是大多数语言都有一个支持md5和(和其他散列算法)PHP的库。我发现这一点:
string md5 (string $str [, bool $raw_output = false ])
计算使用»RSA数据安全公司的MD5消息摘要算法str的MD5哈希值,并返回该散列。
下面是一个例子:
<?php
$password = 'apple';
if (md5($password) === '1f3870be274f6c49b3e31a0c6728957f') {
echo "Password correct";
}
?>
从的Joomla论坛,这背后究竟发生了:
例如:
你可以去/libraries/joomla/user
和请参见bind()
功能user.php
注册时间创建的所有用户密码都将在此处。
请检查 - > http://stackoverflow.com/questions/35333417/joomla-3-4-password-generation-method/35337002#35337002 – Joomler 2016-06-27 10:30:31