在Mediawiki 1.18.0 includes/User.php中,找到加密函数, 其中oldCrypt为mediawiki版本低于1.13.0的加密函数(与低版本中的wfEncryptPassword函数等同),crypt为mediawiki大于等于1.13.0版本的加密函数。
$wgPasswordSalt定义在includes/defaultSettings.php中,默认为true,详情参看:
http://www.mediawiki.org/wiki/Manual:$wgPasswordSalt
/**
* Make an old-style password hash
*
* @param $password String Plain-text password
* @param $userId String User ID
* @return String Password hash
*/
public static function oldCrypt( $password, $userId ) {
global $wgPasswordSalt;
if ( $wgPasswordSalt ) {
return md5( $userId . '-' . md5( $password ) );
} else {
return md5( $password );
}
}
/**
* Make a new-style password hash
*
* @param $password String Plain-text password
* @param bool|string $salt Optional salt, may be random or the user ID.
* If unspecified or false, will generate one automatically
* @return String Password hash
*/
public static function crypt( $password, $salt = false ) {
global $wgPasswordSalt;
$hash = '';
if( !wfRunHooks( 'UserCryptPassword', array( &$password, &$salt, &$wgPasswordSalt, &$hash ) ) ) {
return $hash;
}
if( $wgPasswordSalt ) {
if ( $salt === false ) {
$salt = substr( wfGenerateToken(), 0, 8 );
}
return ':B:' . $salt . ':' . md5( $salt . '-' . md5( $password ) );
} else {
return ':A:' . md5( $password );
}
}
低版本的mediawiki(如1.11.0)加密函数位于includes/GlobalFunctions.php
/**
* Encrypt a username/password.
*
* @param string $userid ID of the user
* @param string $password Password of the user
* @return string Hashed password
*/
function wfEncryptPassword( $userid, $password ) {
global $wgPasswordSalt;
$p = md5( $password);
if($wgPasswordSalt)
return md5( "{$userid}-{$p}" );
else
return $p;
}
mediawiki用户密码重置:
http://www.mediawiki.org/wiki/Manual:Resetting_passwords
分享到:
相关推荐
在MediaWiki 1.23.6中,开发者关注了用户体验和性能优化。它引入了更强大的搜索功能,让用户能够更高效地查找所需信息。此外,该版本增强了编辑工具,使内容创建和编辑过程更加流畅。对于管理员来说,权限管理系统...
此外,MediaWiki的扩展性是其一大特点,用户可以通过安装各种插件和模板来扩展功能,满足不同需求,例如添加搜索优化、用户权限管理、页面统计等功能。 总的来说,MediaWiki 1.9.3cn是一个值得信赖的维基平台,尤其...
1. **单一登录(Single Sign-On, SSO)**: 安装并配置后,MediaWiki LDAP插件让用户能够使用他们现有的LDAP凭据访问wiki,实现SSO体验,提高用户便利性和安全性。 2. **用户同步**: 插件可以自动同步LDAP服务器上...
1. **易用性**:MediaWiki提供了一个直观的用户界面,使得非技术用户也能轻松编辑和创建页面。它的WYSIWYG(所见即所得)编辑器降低了内容贡献的门槛。 2. **多语言支持**:MediaWiki支持多种语言,方便全球用户...
接下来,我们需要为MySQL的root用户设置密码。Wamp5内置了phpMyAdmin工具,通过“Tools”或“你的别名”菜单项可以访问。在phpMyAdmin界面,点击“权限”选项来修改root用户的密码。在默认情况下,root用户有两个...
UCenter、MediaWiki和Discuz X2这三款软件各自在用户管理、百科构建和论坛运营方面都有出色的表现,而将它们有效地整合在一起,可以实现单点登录功能,让用户的使用体验更加便捷。本文将详细介绍如何通过UCenter实现...
这个"mediawiki-1.13.0.tar.gz"文件是MediaWiki的1.13.0版本的源代码包,采用的是tar.gz格式,这是一种常见的Linux和Unix系统中的文件压缩方式,它结合了tar(归档)和gzip(压缩)两种工具。 在Linux或类Unix环境...
3. **配置数据库**:启动MySQL/MariaDB服务,创建一个新的数据库和用户,并赋予其对新数据库的权限。这通常通过命令行工具如`mysql`或`mysqladmin`完成。 4. **下载MediaWiki**:从官方MediaWiki网站或通过wget命令...
本部署安装包是针对那些在尝试部署MediaWiki过程中遇到问题,特别是关于皮肤缺失问题的用户设计的。 在MediaWiki的原始源代码中,有时默认皮肤可能未包含在内,这会导致在安装过程中出现“皮肤不存在”的错误。这个...
在“用户权限”窗口中,我们在更改密码项里为 root 设置密码,请设置好密码(前后要一致)然后点右边的执行。root 密码就设置完成了。 mediawiki 安装 现在我们回到权限页,phpMyAdmin 会提示无法连接数据库。这是...
MediaWiki提供了丰富的语法和功能,使得用户能够便捷地编辑和格式化文本内容,从而创建结构化的文档。以下内容将详细介绍MediaWiki的基本语法使用、实例、技巧以及注意事项。 **MediaWiki字体格式控制** MediaWiki...
通过将CKEditor与MediaWiki结合,用户可以享受到更直观的编辑界面,无需学习wikitext代码,这对于新用户和不熟悉MediaWiki语法的人来说是一个巨大的改进。 安装和配置"WYSIWYG_v1.20.2"编辑器可能涉及以下步骤: 1...
在 Mediawiki,一个开源的wiki系统中,用户经常需要分享和讨论各种编程语言的代码片段。然而,原始的 Mediawiki 没有内置的代码高亮功能,这使得代码难以阅读和理解。为了改善这种情况,开发了名为 GeSHi (Generic ...
7. **用户权限与身份验证**:MediaWiki有精细的用户权限管理系统,可以设定不同用户的角色,如匿名用户、注册用户、管理员等,以保护网站安全。 8. **SEO友好**:MediaWiki支持元标签和自定义URL,有助于搜索引擎...
- **易用性**:MediaWiki提供了一个用户友好的界面,使得非技术人员也能轻松编辑和贡献内容。 - **多语言支持**:它支持多种语言,允许全球用户进行无障碍交流。 - **模板和分类**:MediaWiki允许用户创建模板,...
MediaWiki是由PHP开发的免费开源的维基程序,运行于...MediaWiki适合建立大型的百科网站,也有很多网站利用MediaWiki建立知识库系统,例如著名的Blog程序WordPress的官方网站的知识库体系就是基于MediaWiki搭建的。
Mediawiki是一个强大的开源维基引擎,常用于创建和维护百科全书式网站,比如知名的Wikipedia就是基于Mediawiki构建的。本教程将详细讲解如何使用"mediawiki-1.33.0部署程序.zip"进行简单且直接的部署。 首先,我们...
10. **社区支持**:MediaWiki拥有庞大的开发者和用户社区,可以在官方论坛、邮件列表和维基上找到各种文档、教程和问题解答,帮助你在使用和管理MediaWiki过程中遇到的任何问题。 总的来说,MediaWiki1.16.4是一个...