在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是由PHP开发的免费开源的维基程序,运行于...MediaWiki适合建立大型的百科网站,也有很多网站利用MediaWiki建立知识库系统,例如著名的Blog程序WordPress的官方网站的知识库体系就是基于MediaWiki搭建的。
MediaWiki更新说明: 添加好多新特性, 修复已知bug。 MediaWiki是全球最著名的wiki程序,运行于PHP MySQL环境。MediaWiki从2002年2月25日被作为维基百科全书的系统软件,并有大量其他应用实例。目前...
MediaWiki 让用户可以通过博客、wiki 以及文件来共享信息。它还允许使用一个标记云来保护所上载的文件,标记文件以便轻松定位,以及定位专家。更多信息,请参见 参考资料。 那么,如果想要引入一些不想手动更新的...
MediaWiKi linux Install package Version 1.18.1 mediawiki-1.18.1.tar.gz
this is a brief introduction of how to setup a wiki page as soon as possible. 使用mediawiki建议一个自定义wiki网站,基于windows 系统, 使用xampp 简易配置包, 英文说明
MediaWiki是一个运行在服务器端的自由软件,基于GNU General Public License(GPL协议)发行。它能够平稳地运行在日访问量上百万的网站服务器集群中。支持多国语言,包括简繁中文。MediaWiki是一个强大、可扩展、...
向大家介绍MediaWiki 语法简介,主要包括MediaWiki 语法简介使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
学习MediaWiki笔记 网摘相关文件
MediaWiki从2002年2月25**被作为维基百科全书的系统软件,并有大量其他应用实例。目前MediaWiki的开发得到维基媒体基金会的支持。 MediaWiki是建立wiki网站的首选后台程序,目前国内的大型维客站点基本都采用这套...
MediaWiki从2002年2月25日被作为维基百科全书的系统软件,并有大量其他应用实例。目前MediaWiki的开发得到维基媒体基金会的支持。 MediaWiki是建立wiki网站的首选后台程序,目前国内的大型维客站点基本都采用这套...
MediaWiki是一个比较流行的wiki百科软件,部署使用都比较简单,容易上手。查看搜索都非常方便,但是编辑起来就比较麻烦,很多人不太习惯。而且很多知识都已经以word或excel、pdf等类型文档存放。重新输入到wiki中不...
mediawiki的原理和linux搭建方式,windows搭建方式,mediawiki软件包
mediaWiki1.23.6版本,配合wamp即可安装使用
MediaWiki LDAP 插件和使用说明
对于刚接触wiki的朋友们来说,配置一个服务器环境,安装并运行mediawiki是一件很麻烦的事情,在这里,我尽量用通俗易懂的语言,介绍mw(mediawiki,下同)在windows下的安装过程。
mediawiki-1.13.0.tar.gz。。直接安装。。一路NEXT即可
mediawiki和ldap的配置组合,一步一步教你做
介绍如何在Window环境下快速搭建MediaWiKi
mediawiki语法规则 有助于帮助新手过渡学习
搭建wiki私服mediawiki解压包,mediawiki-1.33.1版本亲测可用,内含常用插件