https://en.wikipedia.org/w/api.php?action=feedcontributions&feedformat=atom&user=111.118.248.94 Wikipedia - User contributions [en] 2024-11-07T11:26:48Z User contributions MediaWiki 1.44.0-wmf.2 https://en.wikipedia.org/w/index.php?title=WordPress&diff=565441874 WordPress 2013-07-23T07:20:33Z <p>111.118.248.94: </p> <hr /> <div>{{about|the blogging software|the blog host|WordPress.com}}<br /> <br /> {{ref improve|date=June 2013}}<br /> {{pp-move-indef}}<br /> <br /> {{Infobox software<br /> | name = WordPress<br /> | logo = [[File:WordPress logo.svg|250px]]<br /> | screenshot = [[File:WordPress Dashboard.png|250px]]<br /> | caption = &lt;center&gt;WordPress Dashboard&lt;/center&gt;<br /> | collapsible = yes<br /> | developer = WordPress Foundation<br /> | status = Active<br /> | released = {{start date|2003|05|27}}&lt;ref name=release /&gt;<br /> | latest release version = 3.5.2<br /> | latest release date = {{start date and age|2013|06|21}}&lt;ref name=&quot;3.5.2&quot;&gt;{{cite web |url=http://wordpress.org/news/2013/06/wordpress-3-5-2/ |title=WordPress 3.5.2 Maintenance and Security Release |publisher=Wordpress.org |date=2013-06-21 |accessdate=2013-06-21}}&lt;/ref&gt;<br /> | latest preview version = 3.6 Beta 3<br /> | latest preview date = {{start date and age|2013|05|11}}&lt;ref name=&quot;3.6 beta&quot;&gt;{{cite web |url=http://wordpress.org/news/2013/05/wordpress-3-6-beta-3/ |title=WordPress 3.6 Beta 3 |publisher=Wordpress.org |date=2013-05-11 |accessdate=2013-05-11}}&lt;/ref&gt;<br /> | operating system = [[Cross-platform]]<br /> | platform = [[PHP]]<br /> | genre = [[Blog software]]<br /> | license = [[GNU General Public License Version 2|GNU GPLv2]] (or later)&lt;ref&gt;{{cite web |url=https://wordpress.org/about/gpl/ |title=WordPress: About: GPL |publisher=WordPress.org |accessdate=15 June 2010}}&lt;/ref&gt;<br /> | website = {{URL|http://wordpress.org}}<br /> }}<br /> <br /> '''WordPress''' is a [[free and open source]] [[blog]]ging tool and a [[content management system]] (CMS) based on [[PHP]] and [[MySQL]] which runs on a [[web hosting service]].&lt;ref&gt;{{cite web |publisher=WordPress |title=WordPress Web Hosting |url=https://wordpress.org/hosting/ |accessdate=21 May 2013}}&lt;/ref&gt; Features include a plug-in architecture and a template system. WordPress is used by over 14.7% of [[Alexa Internet]]'s &quot;top 1 million&quot; websites,{{as of?|date=June 2013}} and {{as of|2011|08|lc=y}} manages 22% of all new websites.&lt;ref&gt;{{cite web |url=http://techcrunch.com/2011/08/19/wordpress-now-powers-22-percent-of-new-active-websites-in-the-us/ |title=WordPress Now Powers 22 Percent Of New Active Websites In The U.S |last=Rao |first=Leena |date=19 August 2011 |publisher=TechCrunch |accessdate=28 September 2011}}&lt;/ref&gt; WordPress is currently the most popular blogging system in use on the [[World Wide Web|Web]],&lt;ref&gt;{{cite web |accessdate=8 August 2011 |url=http://w3techs.com/technologies/overview/content_management/all |title=Usage of content management systems for websites}}&lt;/ref&gt;&lt;ref&gt;{{cite web |accessdate=2011-08-26 |url=http://trends.builtwith.com/cms |title=CMS Usage Statistics |publisher=BuiltWith}}&lt;/ref&gt; powering over 60 million websites worldwide.&lt;ref&gt;{{cite web |url=http://www.forbes.com/sites/jjcolao/2012/09/05/the-internets-mother-tongue/ |title=With 60 Million Websites, WordPress Rules The Web. So Where's The Money? |last=Coalo |first=J.J |date=5 September 2012 |work=[[Forbes]]}}&lt;/ref&gt;<br /> <br /> It was first released on May 27, 2003, by founders [[Matt Mullenweg]]&lt;ref name=release&gt;{{cite web |url=https://wordpress.org/news/2003/05/wordpress-now-available/ |title=WordPress Now Available |publisher=WordPress |last=Mullenweg |first=Matt |accessdate=2010-07-22}}&lt;/ref&gt; and Mike Little&lt;ref name=release_commit&gt;{{cite web |url=https://core.trac.wordpress.org/changeset/8 |title=Commit number 8 }}&lt;/ref&gt; as a [[Fork (software development)|fork]] of ''b2/cafelog''. As of April 2013, version 3.5 had been downloaded over 18 million times.&lt;ref&gt;{{cite web |url=http://wordpress.org/download/counter/ |title=WordPress Download Counter |publisher=WordPress |date= |accessdate=2013-04-24}}&lt;/ref&gt;<br /> <br /> == Features ==<br /> <br /> WordPress has a [[web template system]] using a [[template processor]].<br /> <br /> === Themes ===<br /> WordPress users may install and switch between [[Theme (computing)|themes]]. Themes allow users to change the look and functionality of a WordPress website or installation without altering the information content or structure of the site. Themes may be installed using the WordPress &quot;Appearance&quot; administration tool or theme folders may be uploaded via FTP.&lt;ref&gt;{{cite web|url=http://codex.wordpress.org |title=Theme Installation |publisher=Codex.wordpress.org |date=2013-04-09 |accessdate=2013-04-26}}&lt;/ref&gt; The PHP, HTML &amp; CSS code found in themes can be added or edited for providing advanced features. Thousands of WordPress themes exist, some free, and some premium (paid for) templates.<br /> <br /> === Plugins ===<br /> One very popular feature of WordPress is its rich [[plug-in (computing)|plugin architecture]] which allows users and developers to extend its abilities beyond the core installation. WordPress has a database of over 24,000 plugins,&lt;ref&gt;{{cite web|url=http://wordpress.org/extend/plugins/ |title=official plugin directory |publisher=Wordpress.org |date= |accessdate=2013-04-26}}&lt;/ref&gt; each of which offer custom functions and features enabling users to tailor their site to their specific needs. These customizations range from [[SEO]] (Search Engine Optimization) enhancers to content-displaying features, such as the addition of [[widgets]] and [[navigation bar]]s.<br /> <br /> === Widgets ===<br /> [[Widgets]] are small modules that offer users drag-and-drop sidebar content placement through the implementation of [[plugins]]' extended abilities. Some of these Widgets offer customization options such as web forms to fill out, includes or excludes of data and information such as Categories, Archives and Recent Posts, optional images through slideshows and/or carousels, amongst other customization features.These small modules are typically displayed within the header (heade<br /> <br /> [[File:Wordpress Template Hierarchy.png|250px|thumb|WordPress template hierarchy]]<br /> r.php), foo<br /> <br /> ter (footer.php) and sidebars (sidebar.php files) of websites, but can also be placed outside of said locations enabling even further customization.<br /> <br /> === Multi-user and multi-blogging ===<br /> <br /> Prior to WordPress 3.0, WordPress supported one blog per installation, although multiple concurrent copies may be run from different directories if configured to use separate database tables. WordPress Multi-User (WordPress MU, or WPMU) was a fork of WordPress created to allow multiple blogs to exist within one installation but is able to be administered by a centralized maintainer. WordPress MU makes it possible for those with a website to host their own blogging community, as well as control and moderate all the blogs from a single dashboard. WordPress MU adds eight new data tables for each blog.<br /> <br /> As of the release of WordPress 3.0, WordPress MU has merged with WordPress.&lt;ref&gt;{{cite web |url=http://wordpress.org/development/2010/06/thelonious/ |title=WordPress 3.0 &quot;Thelonious&quot; |publisher=Wordpress.org |date=2010-06-17 |accessdate=2011-12-18}}&lt;/ref&gt;<br /> <br /> === Mobiles ===<br /> Native applications exist for [[WebOS]],&lt;ref&gt;{{cite web |url=http://webos.wordpress.org/ |title=WordPress for WebOS |work=WordPress |accessdate=2012-03-06}}&lt;/ref&gt; [[Android (operating system)|Android]],&lt;ref&gt;{{cite web |url=http://androidandme.com/2010/02/news/wordpress-publishes-native-android-application/ |title=WordPress publishes native Android application |publisher=Android and Me |date=2010-02-02 |accessdate=2010-06-15}}&lt;/ref&gt; [[iOS]] (iPhone, iPod Touch, iPad),&lt;ref name=&quot;altafsayani&quot;&gt;{{cite web |url=http://www.altafsayani.com/2008/07/12/wordpress-app-for-iphone-and-ipod-touch/ |title=Idea: WordPress App For iPhone and iPod Touch |work=WordPress iPhone &amp; iPod Touch |date=2008-07-12}}&lt;/ref&gt;&lt;ref name=post&gt;{{cite news |url=http://www.readwriteweb.com/archives/18_million_wordpress_blogs_land_on_the_ipad.php/ |title=18 Million WordPress Blogs Land on the iPad |date=March 24, 2011 |work=ReadWriteWeb}}&lt;/ref&gt; [[Windows Phone]], and [[BlackBerry]].&lt;ref&gt;{{cite web |url=https://blackberry.wordpress.org/ |title=WordPress for BlackBerry |work=WordPress |accessdate=2009-12-27}}&lt;/ref&gt; These applications, designed by [[Automattic]] allow a limited set of options, which include adding new blog posts and pages, commenting, moderating comments, replying to comments in addition to the ability to view the stats.&lt;ref name=&quot;altafsayani&quot; /&gt;&lt;ref name=&quot;post&quot; /&gt;<br /> <br /> === Other features of note ===<br /> WordPress also features integrated link management; a [[Web search engine|search engine]]–friendly, clean [[permalink]] structure; the ability to assign nested, multiple categories to articles; and support for [[Tag (metadata)|tagging]] of posts and articles. Automatic filters are also included, providing standardized formatting and styling of text in articles (for example, converting regular quotes to [[Quotation mark|smart quotes]]). WordPress also supports the [[Trackback]] and [[Pingback]] standards for displaying links to other sites that have themselves linked to a post or article.<br /> <br /> == History ==<br /> <br /> ''b2/cafelog'', more commonly known as simply ''b2'' or ''cafelog'', was the precursor to WordPress.&lt;ref&gt;{{cite video|people=Andrew Warner, [[Matt Mullenweg]] |date=2009-09-10 |title=The Biography Of WordPress&amp;nbsp;– With Matt Mullenweg |url=http://mixergy.com/the-biography-of-wordpress-with-matt-mullenweg/ |format=[[MPEG-4 Part 14]] |medium=Podcast |publisher=Mixergy |accessdate=2009-09-28 |time=10:57 |quote=b2 had actually, through a series of circumstances, essentially become abandoned.}}&lt;/ref&gt; <br /> b2/cafelog was estimated to have been employed on approximately 2,000 blogs as of May 2003.&lt;ref&gt;{{cite web|last=Valdrighi|first=Michel|title=b2 test weblog - post dated 23.05.03|url=http://cafelog.com/index.php?p=500|accessdate=9 May 2013}}&lt;/ref&gt; It was written in PHP for use with [[MySQL]] by Michel Valdrighi, who is now a contributing developer to WordPress. Although WordPress is the official successor, another project, [[b2evolution]], is also in active development.<br /> <br /> WordPress first appeared in 2003 as a joint effort between [[Matt Mullenweg]] and Mike Little to create a [[fork (software development)|fork]] of b2.&lt;ref&gt;{{cite web |url=https://codex.wordpress.org/History |title=History - WordPress Codex |accessdate=29 March 2012 |publisher=WordPress.org}}&lt;/ref&gt; Christine Selleck Tremoulet, a friend of Mullenweg, suggested the name ''WordPress''.&lt;ref&gt;{{cite web |url=http://www.bigpinkcookie.com/2008/01/24/the-importance-of-being-matt/ |title=The Importance of Being Matt… |author=Tremoulet, Christine Selleck |publisher=Christine Selleck Tremoulet |date=24 January 2008 |accessdate=29 March 2012}}&lt;/ref&gt;<br /> <br /> In 2004 the licensing terms for the competing [[Movable Type]] package were changed by [[Six Apart]] and many of its most influential users migrated to WordPress.&lt;ref&gt;{{cite web |url=http://www.salon.com/2004/08/09/six_apart/ |title=Blogging grows up |author=Manjoo, Farhad |publisher=Salon |date=9 August 2004 |accessdate=29 March 2012}}&lt;/ref&gt;&lt;ref&gt;{{cite web |archiveurl=http://web.archive.org/web/20060410125402/http://diveintomark.org/archives/2004/05/14/freedom-0 |url=http://diveintomark.org/archives/2004/05/14/freedom-0 |title=Freedom 0 |author=Pilgrim, Mark |publisher=Mark Pilgrim |archivedate=10 April 2006 |date=14 May 2004 |accessdate=29 March 2012}}&lt;/ref&gt;<br /> By October 2009 the 2009 Open Source content management system Market Share Report reached the conclusion that WordPress enjoyed the greatest brand strength of any open-source content-management systems.&lt;ref&gt;<br /> {{cite web |url=http://www.cmswire.com/downloads/cms-market-share/ |title=2009 Open Source CMS Market Share Report, page 57, by water&amp;stone and CMSWire Oct, 2009 |publisher=CMSWire |date=2009-12-17 |accessdate=2010-06-15}}&lt;/ref&gt;<br /> <br /> === Awards ===<br /> <br /> In 2007, WordPress won a [[Packt]] Open Source CMS Award.&lt;ref&gt;{{cite web |url=http://www.packtpub.com/article/open-source-awards-previous-winners |title=Open Source Awards Previous Winners |accessdate=2010-10-10}}&lt;/ref&gt;<br /> <br /> In 2009, WordPress won the Packt best Open Source CMS Awards.&lt;ref&gt;{{cite web |url=http://www.packtpub.com/article/open-source-awards-previous-winners |title=Open Source Awards Previous Winners |accessdate=2010-10-10}}&lt;/ref&gt;<br /> <br /> In 2010, WordPress won the Hall of Fame CMS category in the 2010 Open Source Awards.&lt;ref&gt;{{cite web |url=https://www.packtpub.com/open-source-awards-home/2010-wordpress |title=Open Source CMS Awards |accessdate=2010-10-10}}&lt;/ref&gt;<br /> <br /> In 2011, WordPress won the Open Source Web App of the Year Award at The Critters.&lt;ref&gt;{{cite web |url=http://ubelly.com/2011/05/winning-at-the-critters/ |title=Winning at The Critters |accessdate=2011-05-27}}&lt;/ref&gt;&lt;ref&gt;{{cite web |url=http://wpcandy.com/reports/wordpress-wins-2011-open-source-web-app-of-the-year-at-the-critters |title=Open Source Web App of the Year Award |accessdate=2011-05-27}}&lt;/ref&gt;<br /> <br /> === Removal of sponsored themes ===<br /> <br /> On July 10, 2007, following a discussion on the WordPress ideas forum&lt;ref&gt;{{cite web | url=https://wordpress.org/extend/ideas/topic.php?id=553 | title=Idea: Remove Sponsored Themes from WordPress.org | work=WordPress Ideas | accessdate=2007-08-20}}&lt;/ref&gt; and a post by Mark Ghosh in his blog Weblog Tools Collection,&lt;ref&gt;{{cite web |url=http://weblogtoolscollection.com/archives/2007/07/10/no-sponsored-themes-on-weblogtoolscollection/ |title=No Sponsored themes on WeblogToolsCollection | date = 2007-07-10 |accessdate=2007-07-18 | author = Mark Ghosh}}&lt;/ref&gt; Matt Mullenweg announced that the official WordPress theme directory at http://themes.wordpress.net would no longer host themes containing sponsored links.&lt;ref&gt;{{cite web |url=http://photomatt.net/2007/07/10/wltc-high-ground/ |title=WLTC High Ground | date = 2007-07-10 |accessdate=2007-07-18 | author = Matt Mullenweg}}&lt;/ref&gt;&lt;ref&gt;{{cite web |url=https://lorelle.wordpress.com/2007/07/11/its-official-sponsored-wordpress-themes-are-out/ |title=It's Official. Sponsored WordPress Themes Are Out | date = 2007-07-11 |accessdate=2007-07-25 | author = Lorelle van Fossen | work = Lorelle on WordPress}}&lt;/ref&gt; Although this move was criticized by designers and users of sponsored themes,&lt;ref&gt;{{cite web |url=http://www.headsetoptions.org/2007/04/09/the-other-point-of-view-%E2%80%93-a-designers-opinion-on-sponsored-themes/ |title=The Other Point of View - A Designers Opinion on Sponsored Themes}}&lt;/ref&gt; it was applauded by WordPress users who consider such themes to be spam.&lt;ref&gt;{{cite web |url=http://weblogtoolscollection.com/archives/2007/07/10/no-sponsored-themes-on-weblogtoolscollection/ |title=No sponsor themes}}&lt;/ref&gt; The official WordPress theme directory ceased to accept any new themes, including those without sponsored links, shortly after the announcement was made. Sponsored themes are still available elsewhere, as well as free themes with additional sponsored links added by third parties.&lt;ref&gt;{{cite web |url=http://weblogtoolscollection.com/archives/2007/08/04/warning-templatebrowser-dot-com/ |title=Warning: TemplatesBrowser dot com | date = 2007-08-04 |accessdate=2008-05-18 | author = Mark Ghosh | work = Weblog Tools Collection}}&lt;/ref&gt;&lt;ref&gt;{{cite web |url=http://weblogtoolscollection.com/archives/2007/11/09/blogsthemecom-warning/ |title=Blogstheme.com Warning | date = 2007-11-09 |accessdate=2008-05-18 | author = Mark Ghosh | work = Weblog Tools Collection}}&lt;/ref&gt;<br /> <br /> On July 18, 2008, a new theme directory opened on WordPress.org,&lt;ref&gt;{{cite web|url=https://wordpress.org/extend/themes/|title=Themes Directory|publisher=WordPress.org|accessdate=28 October 2012}}&lt;/ref&gt; styled along the same lines as the plug-ins directory.&lt;ref&gt;{{cite web | url= https://wordpress.org/development/2008/07/theme-directory/ |title=Theme Directory | date = 2008-07-18 | author = Joseph Scott | work = WordPress Blog | accessdate=2007-08-20}}<br /> &lt;/ref&gt; Any theme that is uploaded to it will be vetted, first by an automated program and then by a human.<br /> <br /> On December 12, 2008, over 200 themes were removed from the WordPress theme directory as they did not comply with [[GPL]] License requirements.&lt;ref&gt;{{cite web |url=http://www.blogherald.com/2008/12/12/200-themes-removed-from-wordpressorg-matt-explains-why |title=200 Themes Removed From WordPress.org&amp;nbsp;– Matt Explains Why |publisher=Blogherald.com |date=2008-12-12 |accessdate=2010-06-15}}&lt;/ref&gt; Today, author mentions are permitted in each theme but the official policy does not allow for sponsorships or links to sites distributing non-[[GPL]] compatible themes. Non-[[GPL]] compliant themes are now hosted on other theme directories.<br /> <br /> === Releases ===<br /> Main releases of WordPress are codenamed after well-known [[jazz]] musicians, starting after version 1.0.&lt;ref&gt;{{cite web |url=https://wordpress.org/about/roadmap/ |title= Roadmap | work = Blog |publisher=WordPress.org |date= |accessdate=2010-06-15}}&lt;/ref&gt;<br /> &lt;!--Template:Version - for version &amp; release history. Documentation &amp; examples: http://en.wikipedia.org/wiki/Template:Version--&gt;<br /> {{Version |t |show=10101}}<br /> {| class=&quot;wikitable&quot;<br /> |- valign=&quot;top&quot;<br /> ! Version<br /> ! Code name<br /> ! Release&amp;nbsp;date<br /> ! Notes<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;0.7&lt;/strong&gt;}}<br /> | none<br /> | 27 May 2003<br /> | Used the same file structure as its predecessor, ''b2/cafelog'', and continued the numbering from its last release, 0.6.&lt;ref&gt;{{cite web |url=http://cafelog.com/ |title=Cafelog |accessdate=2011-05-15}}&lt;/ref&gt; Only 0.71-gold is available for download in the official WordPress Release Archive page.<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;1.2&lt;/strong&gt;}}<br /> | ''[[Charles Mingus|Mingus]]''<br /> | 22 May 2004<br /> | Added support of plugins; which same identification headers are used unchanged in WordPress releases {{as of|2011|lc=y}}.<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;1.5&lt;/strong&gt;}}<br /> |''[[Billy Strayhorn|Strayhorn]]''<br /> | 17 February 2005<br /> | Added a range of vital features, such as ability to manage static pages and a template/theme system. It was also equipped with a new default template (code named ''[[Stanley Kubrick|Kubrick]]'')&lt;ref&gt;{{cite web |url=http://binarybonsai.com/kubrick |title=Kubrick at Binary Bonsai |publisher=Binarybonsai.com |date= |accessdate=2010-06-15}}&lt;/ref&gt; designed by Michael Heilemann.<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;2.0&lt;/strong&gt;}}<br /> | ''[[Duke Ellington|Duke]]''<br /> | 31 December 2005<br /> | Added rich editing, better administration tools, image uploading, faster posting, improved import system, fully overhauled the back end, and various improvements to plugin developers.&lt;ref&gt;{{cite web |url=https://wordpress.org/development/2005/12/wp2/ |title=WordPress: Blog: WordPress 2 |publisher=Wordpress.org |date= |accessdate=2010-06-15}}&lt;/ref&gt;<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;2.1&lt;/strong&gt;}}<br /> | ''[[Ella Fitzgerald|Ella]]''<br /> | 22 January 2007<br /> | Corrected security issues, redesigned interface, enhanced editing tools (including integrated spell check and auto save), and improved content management options.&lt;ref&gt;{{cite web |url=https://codex.wordpress.org/Version_2.1 |title=WordPress 2.1 - codex |publisher=Codex.wordpress.org |date=2007-01-22 |accessdate=2010-06-15}}&lt;/ref&gt;<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;2.2&lt;/strong&gt;}}<br /> | ''[[Stan Getz|Getz]]''<br /> | 16 May 2007<br /> | Added widget support for templates, updated [[Atom (standard)|Atom]] feed support, and speed optimizations.&lt;ref&gt;{{cite web |url=https://wordpress.org/development/2007/05/wordpress-22/ |title=WordPress: Blog: WordPress 2.2 |publisher=Wordpress.org |date= |accessdate=2010-06-15}}&lt;/ref&gt;<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;2.3&lt;/strong&gt;}}<br /> | ''[[Dexter Gordon|Dexter]]''<br /> | 24 September 2007<br /> | Added native tagging support, new [[Taxonomy (general)|taxonomy]] system for categories, and easy notification of updates, fully supports Atom 1.0, with the publishing protocol, and some much needed security fixes.&lt;ref&gt;{{cite web |url=https://wordpress.org/development/2007/09/wordpress-23/ |title=WordPress: Blog: WordPress 2.3 |publisher=WordPress.org |date= |accessdate=2010-06-15}}&lt;/ref&gt;<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;2.5&lt;/strong&gt;}}<br /> | ''[[Michael Brecker|Brecker]]''<br /> | 29 March 2008<br /> | Version 2.4 was skipped, so version 2.5 added two releases worth of new code. The administration interface was fully redesigned, and the WordPress website to match the new style.&lt;ref&gt;{{cite web |url=https://wordpress.org/development/2008/03/wordpress-25-brecker/ |title=WordPress: Blog: WordPress 2.5 |publisher=Wordpress.org |date= |accessdate=2010-06-15}}&lt;/ref&gt;<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;2.6&lt;/strong&gt;}}<br /> | ''[[McCoy Tyner|Tyner]]''<br /> | 15 July 2008<br /> | Added new features that made WordPress a more powerful CMS: it can now [[revision control|track changes]] to every post and page and allow easy posting from anywhere on the web.&lt;ref&gt;{{cite web |url=https://wordpress.org/development/2008/07/wordpress-26-tyner/ |title=WordPress: Blog: WordPress 2.6 |publisher=Wordpress.org |date= |accessdate=2010-06-15}}&lt;/ref&gt;<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;2.7&lt;/strong&gt;}}<br /> | ''[[John Coltrane|Coltrane]]''<br /> | 11 December 2008<br /> | Administration interface redesigned fully, added automatic upgrades and installing plugins, from within the administration interface.&lt;ref&gt;{{cite web |url=https://wordpress.org/development/2008/12/coltrane/ |title=WordPress: Blog: WordPress 2.7 &quot;Coltrane&quot; |publisher=Wordpress.org |date= |accessdate=2010-06-15}}&lt;/ref&gt;<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;2.8&lt;/strong&gt;}}<br /> | ''[[Chet Baker|Baker]]''<br /> | 10 June 2009<br /> | Had improvements in speed, added automatic installing of themes from within administration interface, introduces the CodePress editor for syntax highlighting and a redesigned widget interface.&lt;ref&gt;{{cite web |url=https://wordpress.org/development/2009/06/wordpress-28/ |title=WordPress ' Blog &quot; 2.8 Release Jazzes Themes and Widgets |publisher=WordPress.org |date= |accessdate=2010-06-15}}&lt;/ref&gt;<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;2.9&lt;/strong&gt;}}<br /> | ''[[Carmen McRae|Carmen]]''<br /> | 19 December 2009<br /> | Added global undo, built-in image editor, batch plugin updating, and many less visible tweaks.&lt;ref&gt;{{cite web |url=https://wordpress.org/development/2009/12/wordpress-2-9/ |title=WordPress: Blog: WordPress 2.9, oh so fine |publisher=Wordpress.org |date= |accessdate=2010-06-15}}&lt;/ref&gt;<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;3.0&lt;/strong&gt;}}<br /> | ''[[Thelonious Monk|Thelonious]]''<br /> | 17 June 2010<br /> | Added a new theme [[application programming interface]]s (API); the merge of WordPress and WordPress MU, creating the new multi-site functionality, a new default theme called &quot;Twenty Ten&quot;, and many less visible tweaks.&lt;ref&gt;{{cite web |url=https://wordpress.org/development/2010/06/thelonious/ |title=WordPress: Blog: WordPress 3.0 &quot;Thelonious&quot; |publisher=Wordpress.org |date= |accessdate=2010-06-17}}&lt;/ref&gt;<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;3.1&lt;/strong&gt;}}<br /> | ''[[Django Reinhardt|Reinhardt]]''<br /> | 23 February 2011<br /> | Added the Admin Bar, which is displayed on all blog pages when an admin is logged in, and Post Format, best explained as a Tumblr like micro-blogging feature. It provides easy access to many critical functions, such as comments and updates. Includes internal linking abilities, a newly streamlined writing interface, and many other changes.&lt;ref&gt;{{cite web |url=https://codex.wordpress.org/Version_3.1 |title=WordPress: Codex: WordPress 3.1 &quot;Reinhardt&quot; |publisher=Wordpress.org |date= |accessdate=2011-02-25}}&lt;/ref&gt;<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;3.2&lt;/strong&gt;}}<br /> | ''[[George Gershwin|Gershwin]]''<br /> | 4 July 2011<br /> | Focused on making WordPress faster and lighter. Released only four months after version 3.1, reflecting the growing speed of development in the WordPress community.<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;3.3&lt;/strong&gt;}}<br /> | ''[[Sonny Stitt|Sonny]]''<br /> | 12 December 2011<br /> | Focused on making WordPress friendlier for beginners and [[tablet computer]] users.<br /> |- valign=&quot;top&quot;<br /> | {{Version |o |&lt;strong&gt;3.4&lt;/strong&gt;}}<br /> | ''[[Grant Green|Green]]''<br /> | 13 June 2012<br /> | Focused on improvements to theme customization, [[Twitter]] integration and several minor changes.<br /> |- valign=&quot;top&quot;<br /> | {{Version |c |&lt;strong&gt;3.5&lt;/strong&gt;}}<br /> | ''[[Elvin Jones|Elvin]]''<br /> | 11 December 2012<br /> | Support for the [[Retina Display]], color picker, new theme: Twenty Twelve, improved image workflow &lt;ref&gt;{{cite web|title=Wordpress: 3.5 Proposed Scope|url=https://make.wordpress.org/core/2012/07/18/3-5-proposed-scope/}}&lt;/ref&gt; <br /> |- valign=&quot;top&quot;<br /> | {{Version |p |&lt;strong&gt;3.6&lt;/strong&gt;}}<br /> | <br /> | (due July/August 2013)&lt;ref&gt;&quot;[http://wordpress.org/news/2013/07/wordpress-3-6-release-candidate/ WordPress 3.6 Release Candidate]&quot;. WordPress. Retrieved 22 July, 2013.&lt;/ref&gt;<br /> | New theme: Twenty Thirteen ; Admin Enhancements - Post Formats UI Update, Menus UI improvements, Revisions Update, Autosave and Post Locking<br /> |}<br /> <br /> == Future ==<br /> <br /> After the release of WordPress 3.0, the development team took a release cycle off from the WordPress software to focus on expanding and improving the WordPress community.&lt;ref&gt;{{cite web |url=http://www.webmaster-source.com/2010/06/18/wordpress-3-0-now-available/|title=WordPress 3.0 Now Available|date=18 June 2010}}&lt;/ref&gt;&lt;ref&gt;{{cite web |url=http://www.thewhir.com/web-hosting-news/061810_WordPress_30_Released_Adding_Multi_User_and_Streamlined_User_Interface|title=WordPress 3.0 Released, Adding Multi-User and Streamlined User Interface}}&lt;/ref&gt; WordPress 3.1 was subsequently released in February, 2011. With version 3.2, released on July 4, 2011, the minimum requirement PHP version and MySQL were raised as well.&lt;ref&gt;PHP 4 and MySQL 4 End of Life Announcement. WordPress. July 23, 2010. Retrieved October 6, 2010.[https://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/]&lt;/ref&gt;<br /> <br /> == Vulnerabilities ==<br /> <br /> Many security issues&lt;ref&gt;{{cite web |date=2007-06-21 |title=Wincent Colaiuta |url=http://wincent.com/a/about/wincent/weblog/archives/2007/06/wordpress_flaw.php}}&lt;/ref&gt;&lt;ref&gt;{{cite web |date=2007-06-28 |title=David Kierznowski|url=http://blogsecurity.net/wordpress/interview-280607/}}&lt;/ref&gt; were uncovered in the software, particularly in 2007 and 2008. According to [[Secunia]], WordPress in April 2009 had 7 unpatched security advisories (out of 32 total), with a maximum rating of &quot;Less Critical&quot;.&lt;ref&gt;{{cite web |date=2009-04-07 |title=Secunia Advisories for WordPress 2.x|url=http://secunia.com/advisories/product/6745/}}&lt;/ref&gt; [[Secunia]] maintains an up-to-date list of WordPress vulnerabilities.&lt;ref&gt;{{cite web |url=http://secunia.com/advisories/product/6745/ |title=Secunia WordPress 2.x Vulnerability Report |publisher=Secunia.com |date= |accessdate=2010-06-15}}&lt;/ref&gt;&lt;ref&gt;{{cite web |url=http://secunia.com/advisories/product/33191/|title=Secunia WordPress 3.x Vulnerability Report |publisher=Secunia.com |date= |accessdate=2010-12-27}}&lt;/ref&gt;<br /> <br /> In January 2007, many high-profile [[search engine optimization]] (SEO) blogs, as well as many low-profile commercial blogs featuring [[AdSense]], were targeted and attacked with a WordPress exploit.&lt;ref&gt;{{cite web |url=http://www.threadwatch.org/node/11333 |title=WordPress Exploit Nails Big Name Seo Bloggers |publisher=Threadwatch.org |date= |accessdate=2011-12-18}}&lt;/ref&gt; A separate vulnerability on one of the project site's [[web server]]s allowed an attacker to introduce exploitable code in the form of a [[Backdoor (computing)|back door]] to some downloads of WordPress 2.1.1. The 2.1.2 release addressed this issue; an advisory released at the time advised all users to upgrade immediately.&lt;ref&gt;{{cite web |url=https://wordpress.org/development/2007/03/upgrade-212/ |title=WordPress 2.1.1 dangerous, Upgrade to 2.1.2 |publisher=WordPress.org |accessdate=2007-03-04 | date = 2 March 2007}}&lt;/ref&gt;<br /> <br /> In May 2007, a study revealed that 98% of WordPress blogs being run were exploitable because they were running outdated and unsupported versions of the software.&lt;ref&gt;{{cite web |url=http://blogsecurity.net/wordpress/articles/article-230507/ |title=Survey Finds Most WordPress Blogs Vulnerable |publisher=Blog Security |date=2007-05-23 |accessdate=2010-06-15}}&lt;/ref&gt; In part to mitigate this problem, WordPress made updating the software a much easier, &quot;one click&quot; automated process in version 2.7 (released in December 2008).&lt;ref&gt;{{cite web |url=http://codex.wordpress.org/Updating_WordPress |title=Updating Wordpress |publisher=WordPress Codex |deadurl=no |accessdate=2012-09-25}}&lt;/ref&gt; However, the irregular release cycle means admins still have to be on their toes, and the filesystem security settings, required to enable the update process, can be an additional risk.&lt;ref&gt;{{cite web| url=http://www.realstorygroup.com/Blog/1663-Yet-another-WordPress-release |title=Yet another WordPress release |date=2009-08-13 |accessdate=2012-09-24}}&lt;/ref&gt;<br /> <br /> In a June 2007 interview, Stefan Esser, the founder of the PHP Security Response Team, spoke critically of WordPress's security track record, citing problems with the application's architecture that made it unnecessarily difficult to write code that is secure from [[SQL injection]] vulnerabilities, as well as some other problems.&lt;ref&gt;{{cite web |url=http://blogsecurity.net/wordpress/interview-280607/ |title=Blog Archive &quot; Interview with Stefan Esser |publisher=BlogSecurity |date=2007-06-28 |accessdate=2010-06-15}}&lt;/ref&gt;<br /> <br /> In June 2013, it was found that some of the 50 most downloaded WordPress plugins were vulnerable to common Web attacks such as SQL injection and XSS. A separate inspection of the top-10 e-commerce plugins showed that 7 of them were vulnerable.&lt;ref&gt;http://www.crn.com/news/security/240156883/popular-wordpress-e-commerce-plugins-riddled-with-security-flaws.htm&lt;/ref&gt;<br /> <br /> Individual installations of WordPress can be protected with security plugins.&lt;ref&gt;{{cite web |url=http://www.axetue.com/2011/09/04/top-security-plugins-for-wordpress/ |title=Top Security Plugins For Wordpress |publisher=Axetue.com |date=2011-09-04 |accessdate=2012-01-09}}&lt;/ref&gt; Users can also protect their WordPress installations by taking steps such as keeping all WordPress installation, themes, and plugins updated, using only trusted themes and plugins,&lt;ref&gt;{{cite web|url=http://www.pingable.org/original-free-wordpress-security-infographic-by-pingable/|title=Original Free WordPress Security Infographic by Pingable|last=Ward|first=Simon|date=9 July 2012|publisher=Pingable|accessdate=28 October 2012}}&lt;/ref&gt; renaming the default admin account, as well as editing the site's .htaccess file to prevent many types of SQL injection attacks and block unauthorized access to sensitive files.&lt;ref&gt;{{cite web |url=http://www.esecurityplanet.com/open-source-security/top-5-wordpress-vulnerabilities-and-how-to-fix-them.html |title=Top 5 WordPress Vulnerabilities and How to Fix Them |date=2012-04-20 |publisher=eSecurityPlanet.com |accessdate=2012-04-20}}&lt;/ref&gt;<br /> <br /> == Development and support ==<br /> <br /> === Key developers ===<br /> <br /> [[Matt Mullenweg]] and Mike Little were cofounders of the project. The core contributing developers include Ryan Boren, Mark Jaquith, Matt Mullenweg, Andrew Ozz, Peter Westwood and Andrew Nacin.&lt;ref&gt;{{cite web |url=https://wordpress.org/about/ |title=About WordPress |accessdate=2010-10-05 |publisher=wordpress.org}}&lt;/ref&gt;<br /> <br /> WordPress is also developed by its community, including ''WP testers'', a group of volunteers who test each release. They have early access to [[Neutral build|nightly builds]], beta versions and release candidates. Errors are documented in a special [[mailing list]], or the project's [[Trac]] tool.<br /> <br /> Though largely developed by the community surrounding it, WordPress is closely associated with [[Automattic]], the company founded by Matt Mullenweg. On September 9, 2010, Automattic handed the WordPress trademark to the newly created WordPress Foundation, which is an umbrella organization supporting WordPress.org (including the software and archives for plugins and themes), [[bbPress]] and [[BuddyPress]].<br /> <br /> === WordCamp developer and user conferences ===<br /> [[File:WordCamp 2011 Bulgaria.jpg|thumb|right|A WordCamp in [[Sofia]], [[Bulgaria]] (2011)]]<br /> <br /> &quot;WordCamp&quot; is the name given to all WordPress-related gatherings, both informal [[unconference]]s and more formal conferences.&lt;ref&gt;{{cite web |url=http://central.wordcamp.org/ |title=WordCamp Central |publisher=Central.wordcamp.org |date=2011-12-12 |accessdate=2011-12-18}}&lt;/ref&gt; The first such event was WordCamp 2006 in August 2006 in [[San Francisco]], which lasted one day and had over 500 attendees.&lt;ref&gt;{{cite web |url=http://2006.wordcamp.org/ |title=WordCamp 2006 |publisher=2006.wordcamp.org |date= |accessdate=2011-12-18}}&lt;/ref&gt;&lt;ref&gt;{{cite web |url=http://2011.sf.wordcamp.org/ |title=WordCamp 2011 |publisher=2011.sf.wordcamp.org |date= |accessdate=2011-12-18}}&lt;/ref&gt; The first WordCamp outside San Francisco was held in [[Beijing]] in September 2007.&lt;ref name=&quot;wordcamp schedule&quot;&gt;{{cite web |url = http://central.wordcamp.org/schedule/ |title = WordCamp Central &gt; Schedule |publisher = Central.wordcamp.org |date = |accessdate = 2011-12-18}}&lt;/ref&gt; Since then, there have been over 150 WordCamps around the world, for an average of nearly one a week.&lt;ref name=&quot;wordcamp schedule&quot; /&gt; WordCamp San Francisco, an annual event, remains the official annual conference of WordPress developers and users.&lt;ref&gt;[http://central.wordcamp.org/news/2011/01/24/wordcampsf-not-wordcon/ WordCamp SF Announced (not WordCon)], Jane Well, January 24, 2011&lt;/ref&gt;<br /> <br /> === Support ===<br /> As a [[free and open source]] platform, WordPress relies on peer support. Its primary support website is WordPress.org.&lt;ref&gt;{{cite web|url=http://wordpress.org/about/|title=About WordPress|publisher=WordPress|accessdate=28 October 2012}}&lt;/ref&gt;<br /> <br /> ==See also==<br /> *[[List of content management systems]]<br /> *[[Weblog software]]<br /> {{Portal bar|Free software|Software|IT|Internet}}<br /> <br /> ==References==<br /> {{Reflist|2}}<br /> <br /> ==External links==<br /> {{Commons category|WordPress}}<br /> *{{Official website|https://wordpress.org}}<br /> <br /> {{Application frameworks}}<br /> <br /> {{DEFAULTSORT:WordPress}}<br /> [[Category:2003 software]]<br /> [[Category:Blog software]]<br /> [[Category:Content management systems]]<br /> [[Category:Software forks]]<br /> [[Category:Free content management systems]]<br /> [[Category:Free software programmed in PHP]]<br /> [[Category:WordPress| ]]<br /> [[Category:Website management]]<br /> <br /> {{Link GA|id}}</div> 111.118.248.94 https://en.wikipedia.org/w/index.php?title=Wikipedia:Sandbox&diff=492686910 Wikipedia:Sandbox 2012-05-15T13:02:07Z <p>111.118.248.94: </p> <hr /> <div>{{Sandbox heading}} &lt;!-- Please leave this line alone! --&gt;<br /> <br /> i am going to make the best wikipedia page anyone has ever seen cuz i will copy and paste this everywhestupid isnt it this co,iter tends to mess up so this may look weird but oh well i dont care you cn if u want tots re so it is amazing this isnt my computer so i dont care if it gets ip banned so yeah and this idiot over here typed in john brown bad but i has no idea why i<br /> <br /> oh look im back with another epic paragrpah cuz i is goody typer at this thingy and i has amazing sgnklsgnoaubiaosfnaioanofnianifiaoifnoni. btw, thats german for grammer i think im not sure though so dont quote me on that cyz u is stupid trololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololo<br /> <br /> Cool article<br /> <br /> <br /> * Sweet<br /> * Seems straightforward<br /> hellooooooooooooooooooooooo RAM BY ROHIT<br /> <br /> ab teri bari hai ram</div> 111.118.248.94 https://en.wikipedia.org/w/index.php?title=Wikipedia:Sandbox&diff=492686631 Wikipedia:Sandbox 2012-05-15T12:59:41Z <p>111.118.248.94: </p> <hr /> <div>{{Sandbox heading}} &lt;!-- Please leave this line alone! --&gt;<br /> <br /> i am going to make the best wikipedia page anyone has ever seen cuz i will copy and paste this everywhestupid isnt it this co,iter tends to mess up so this may look weird but oh well i dont care you cn if u want tots re so it is amazing this isnt my computer so i dont care if it gets ip banned so yeah and this idiot over here typed in john brown bad but i has no idea why i<br /> <br /> oh look im back with another epic paragrpah cuz i is goody typer at this thingy and i has amazing sgnklsgnoaubiaosfnaioanofnianifiaoifnoni. btw, thats german for grammer i think im not sure though so dont quote me on that cyz u is stupid trololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololololo<br /> <br /> Cool article<br /> <br /> <br /> * Sweet<br /> * Seems straightforward<br /> hellooooooooooooooooooooooo RAM BY ROHIT</div> 111.118.248.94 https://en.wikipedia.org/w/index.php?title=MD5&diff=467333398 MD5 2011-12-23T12:30:06Z <p>111.118.248.94: /* Pseudocode */</p> <hr /> <div>{{Infobox cryptographic hash function<br /> | name = MD5<br /> | image =<br /> | caption =<br /> &lt;!-- General --&gt;<br /> | designers = [[Ronald Rivest]]<br /> | publish date = April 1992<br /> | series = [[MD2 (cryptography)|MD2]], [[MD4]], MD5, [[MD6]]<br /> | derived from =<br /> | derived to =<br /> | related to =<br /> | certification =<br /> &lt;!-- Detail --&gt;<br /> | digest size = 128 bits<br /> | structure = [[Merkle–Damgård construction]]<br /> | rounds = 4 &lt;ref&gt;RFC 1321, section 3.4, &quot;Step 4. Process Message in 16-Word Blocks&quot;, page 5.&lt;/ref&gt;<br /> | cryptanalysis = A 2009 attack by Tao Xie and Dengguo Feng breaks MD5 [[collision resistance]] in 2&lt;sup&gt;20.96&lt;/sup&gt; time. This attack runs in a few seconds on a regular computer.&lt;ref&gt;{{Cite journal|author=Tao Xie and Dengguo Feng |date=30 May 2009 |title=How To Find Weak Input Differences For MD5 Collision Attacks |url=http://eprint.iacr.org/2009/223.pdf }}&lt;/ref&gt;<br /> }}<br /> The '''MD5 Message-Digest Algorithm''' is a widely used [[cryptographic hash function]] that produces a 128-[[bit]] (16-byte) hash value. Specified in RFC 1321, MD5 has been employed in a wide variety of security applications, and is also commonly used to check [[data integrity]]. MD5 was designed by [[Ron Rivest]] in 1991 to replace an earlier hash function, [[MD4]]. An MD5 hash is typically expressed as a 32-digit [[hexadecimal]] number.<br /> <br /> However, it has since been shown that MD5 is not [[collision resistant]];&lt;ref&gt;{{Cite web|url=http://merlot.usc.edu/csac-f06/papers/Wang05a.pdf|title=How to Break MD5 and Other Hash Functions|author=Xiaoyun Wang and Hongbo Yu|accessdate=2009-12-21}}&lt;/ref&gt; as such, MD5 is not suitable for applications like [[Transport Layer Security|SSL]] [[public key certificate|certificates]] or [[digital signature]]s that rely on this property. In 1996, a flaw was found with the design of MD5, and while it was not a clearly fatal weakness, cryptographers began recommending the use of other algorithms, such as [[SHA-1]] - which has since been found also to be vulnerable. In 2004, more serious flaws were discovered in MD5, making further use of the algorithm for security purposes questionable - specifically, a group of researchers described how to create a pair of files that share the same MD5 [[checksum]].&lt;ref name=&quot;autogenerated1&quot;&gt;Xiaoyun Wang, Dengguo ,k.,m.,m, HAVAL-128 and RIPEMD], Cryptology ePrint Archive Report 2004/199, 16 August 2004, revised 17 August 2004. Retrieved July 27, 2008.&lt;/ref&gt;&lt;ref name=&quot;autogenerated2&quot;&gt;J. Black, M. Cochran, T. Highland: [http://www.cs.colorado.edu/~jrblack/papers/md5e-full.pdf A Study of the MD5 Attacks: Insights and Improvements], March 3, 2006. Retrieved July 27, 2008.&lt;/ref&gt; Further advances were made in breaking MD5 in 2005, 2006, and 2007.&lt;ref&gt;Marc Stevens, Arjen Lenstra, Benne de Weger: [http://www.win.tue.nl/hashclash/SoftIntCodeSign/ Vulnerability of software integrity and code signing applications to chosen-prefix collisions for MD5], Nov 30, 2007. Retrieved Jul 27, 2008.&lt;/ref&gt; In December 2008, a group of researchers used this technique to fake SSL certificate validity.&lt;ref name=&quot;sslHarmful&quot;&gt;{{Cite web|url=http://www.win.tue.nl/hashclash/rogue-ca/|title=MD5 considered harmful today|last=Sotirov|first=Alexander |coauthors=Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger|date=2008-12-30|accessdate=2008-12-30}} [http://events.ccc.de/congress/2008/Fahrplan/events/3023.en.html Announced] at the 25th [[Chaos Communication Congress]].&lt;/ref&gt;&lt;ref name=&quot;browserflaw&quot;&gt;{{Cite web<br /> |url=http://news.cnet.com/8301-1009_3-10129693-83.html<br /> |title=Web browser flaw could put e-commerce security at risk<br /> |last=Stray<br /> |first=Jonathan<br /> |date=2008-12-30<br /> |accessdate=2009-02-24<br /> |publisher=[[CNET.com]]}}&lt;/ref&gt;, and [[US-CERT]] now says that MD5 &quot;should be considered cryptographically broken and unsuitable for further use.&quot;&lt;ref&gt;{{Cite web|url=http://www.kb.cert.org/vuls/id/836068 |title=US-CERT Vulnerability Note VU#836068 |publisher=Kb.cert.org |date= |accessdate=2010-08-09}}&lt;/ref&gt; and most U.S. government applications now require the [[SHA-2]] family of hash functions.&lt;ref&gt;{{Cite web|url=http://csrc.nist.gov/groups/ST/hash/policy.html |title=NIST.gov - Computer Security Division - Computer Security Resource Center |publisher=Csrc.nist.gov |date= |accessdate=2010-08-09}}&lt;/ref&gt;<br /> <br /> ==History and cryptanalysis==<br /> MD5 is one in a series of [[message digest]] algorithms designed by Professor [[Ronald Rivest]] of [[Massachusetts Institute of Technology|MIT]] (Rivest, 1994). When analytic work indicated that MD5's predecessor [[MD4]] was likely to be insecure, MD5 was designed in 1991 to be a secure replacement. (Weaknesses were indeed later found in MD4 by [[Hans Dobbertin]].)<br /> <br /> In 1993, Den Boer and Bosselaers gave an early, although limited, result of finding a &quot;[[hash collision|pseudo-collision]]&quot; of the MD5 [[One-way compression function|compression function]]; that is, two different [[initialization vector]]s which produce an identical digest.<br /> <br /> In 1996, Dobbertin announced a collision of the compression function of MD5 (Dobbertin, 1996). While this was not an attack on the full MD5 hash function, it was close enough for cryptographers to recommend switching to a replacement, such as [[SHA-1]] or [[RIPEMD-160]].<br /> <br /> The size of the hash—128 bits—is small enough to contemplate a [[birthday attack]]. [[MD5CRK]] was a [[distributed computing|distributed project]] started in March 2004 with the aim of demonstrating that MD5 is practically insecure by finding a collision using a [[birthday attack]].<br /> <br /> MD5CRK ended shortly after 17 August 2004, when [[hash collision|collisions]] for the full MD5 were announced by [[Xiaoyun Wang]], Dengguo Feng, [[Xuejia Lai]], and Hongbo Yu.&lt;ref name=&quot;autogenerated1&quot; /&gt;&lt;ref name=&quot;autogenerated2&quot; /&gt;&lt;ref&gt;Philip Hawkes and Michael Paddon and Gregory G. Rose: [http://eprint.iacr.org/2004/264 Musings on the Wang et al. MD5 Collision], 13 Oct<br /> 2004. Retrieved July 27, 2008.&lt;/ref&gt; Their analytical attack was reported to take only one hour on an [[IBM p690]] cluster.<br /> <br /> On 1 March 2005, [[Arjen Lenstra]], [[Xiaoyun Wang]], and Benne de Weger demonstrated&lt;ref&gt;Arjen Lenstra, Xiaoyun Wang, Benne de Weger: [http://eprint.iacr.org/2005/067 Colliding X.509 Certificates], Cryptology ePrint Archive Report 2005/067, 1 March 2005, revised 6 May 2005. Retrieved July 27, 2008.&lt;/ref&gt; construction of two [[X.509]] certificates with different public keys and the same MD5 hash, a demonstrably practical collision. The construction included private keys for both public keys. A few days later, [[Vlastimil Klima]] described&lt;ref&gt;Vlastimil Klima: [http://eprint.iacr.org/2005/075 Finding MD5 Collisions – a Toy For a Notebook], Cryptology ePrint Archive Report 2005/075, 5 March 2005, revised 8 March 2005. Retrieved July 27, 2008.&lt;/ref&gt; an improved algorithm, able to construct MD5 collisions in a few hours on a single notebook computer. On 18 March 2006, Klima published an algorithm&lt;ref&gt;Vlastimil Klima: [http://eprint.iacr.org/2006/105 Tunnels in Hash Functions: MD5 Collisions Within a Minute], Cryptology ePrint Archive Report 2006/105, 18 March 2006, revised 17 April 2006. Retrieved July 27, 2008.&lt;/ref&gt; that can find a collision within one minute on a single notebook computer, using a method he calls tunneling.<br /> <br /> In 2009, the [[United States Cyber Command]] used an MD5 hash of their mission statement as a part of their official emblem.&lt;ref&gt;{{cite web<br /> |url=http://www.wired.com/dangerroom/2010/07/code-cracked-cyber-command-logos-mystery-solved/<br /> |title=Code Cracked! Cyber Command Logo Mystery Solved<br /> |work=[[United States Cyber Command|USCYBERCOM]]<br /> |publisher=[[Wired News]]<br /> |date=2010-07-08<br /> |accessdate=2011-07-29}}&lt;/ref&gt;<br /> <br /> On December 24, 2010, Tao Xie and Dengguo Feng announced the first published single-block MD5 collision (two 64-byte messages with the same MD5 hash given in [[Little endian]] notation).&lt;ref&gt;{{cite web<br /> |url=http://eprint.iacr.org/2010/643<br /> |title=Construct MD5 Collisions Using Just A Single Block Of Message<br /> |year=2010<br /> |format=PDF<br /> |author=Tao Xie, Dengguo Feng<br /> |accessdate=2011-07-28}}&lt;/ref&gt; Previous collision discoveries relied on multi-block attacks. For &quot;security reasons&quot;, Xie and Feng did not disclose the new attack method. They have issued a challenge to the cryptographic community, offering a US$ 10,000 reward to the first finder of a different 64-byte collision before January 1, 2013.<br /> <br /> In 2011 an informational [[Request for Comments|RFC]] was approved to update the security considerations in RFC 1321 (MD5) and RFC 2104 (HMAC-MD5).<br /> &lt;ref&gt;RFC 6151, Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms&lt;/ref&gt;<br /> <br /> ==Security==<br /> The security of the MD5 hash function is severely compromised. A [[collision attack]] exists that can find collisions within seconds on a computer with a 2.6Ghz Pentium4 processor (complexity of 2&lt;sup&gt;24.1&lt;/sup&gt;).&lt;ref&gt;{{Cite journal|author=M.M.J. Stevens |date = June 2007|title=On Collisions for MD5 |url=http://www.win.tue.nl/hashclash/On%20Collisions%20for%20MD5%20-%20M.M.J.%20Stevens.pdf |quote=[...] we are able to find collisions for MD5 in about 2&lt;sup&gt;24.1&lt;/sup&gt; compressions for recommended IHV's which takes approx. 6 seconds on a 2.6GHz Pentium 4. }}&lt;/ref&gt; Further, there is also a [[chosen-prefix collision attack]] that can produce a collision for two chosen arbitrarily different inputs within hours, using off-the-shelf computing hardware (complexity 2&lt;sup&gt;39&lt;/sup&gt;).&lt;ref&gt;{{Cite journal|author=Marc Stevens, Arjen Lenstra, Benne de Weger |date=2009-06-16 |title=Chosen-prefix Collisions for MD5 and Applications |url=https://documents.epfl.ch/users/l/le/lenstra/public/papers/lat.pdf }}&lt;/ref&gt;<br /> The ability to find collisions has been greatly aided by the use of off-the-shelf [[Graphics processing unit|GPUs]]. On an NVIDIA GeForce 8400GS graphics processor, 16-18 million hashes per second can be computed. An NVIDIA GeForce 8800 Ultra can calculate more than 200 million hashes per second.&lt;ref&gt;{{cite web<br /> | url = http://bvernoux.free.fr/md5/index.php<br /> | title = New GPU MD5 cracker cracks more than 200 million hashes per second..<br /> }}&lt;/ref&gt;<br /> <br /> These hash and collision attacks have been demonstrated in the public in various situations, including colliding document files&lt;ref&gt;{{Cite web|author=Magnus Daum, Stefan Lucks |title=Hash Collisions (The Poisoned Message Attack) |work=[[Eurocrypt]] 2005 rump session |url=http://th.informatik.uni-mannheim.de/People/lucks/HashCollisions/ }}&lt;/ref&gt;&lt;ref name=special-file-formats&gt;{{Cite journal|author=Max Gebhardt, Georg Illies, Werner Schindler |title=A Note on the Practical Value of Single Hash Collisions for Special File Formats |url=http://csrc.nist.gov/groups/ST/hash/documents/Illies_NIST_05.pdf }}&lt;/ref&gt; and [[digital certificate]]s.&lt;ref name=&quot;sslHarmful&quot; /&gt;<br /> <br /> ===Collision vulnerabilities===<br /> {{See|Collision attack}}<br /> <br /> In 1996, collisions were found in the compression function of MD5, and [[Hans Dobbertin]] wrote in the [[RSA Laboratories]] technical newsletter, &quot;The presented attack does not yet threaten practical applications of MD5, but it comes rather close ... in the future MD5 should no longer be implemented...where a collision-resistant hash function is required.&quot;&lt;ref&gt;{{cite |url=ftp://ftp.rsasecurity.com/pub/cryptobytes/crypto2n2.pdf<br /> |journal=RSA Laboratories CryptoBytes<br /> |date=Summer 1996<br /> |volume=2<br /> |issue=2<br /> |page=1<br /> |title=The Status of MD5 After a Recent Attack<br /> |last=Dobbertin<br /> |first=Hans<br /> |accessdate=2010-08-10<br /> |format=pdf<br /> |quote=The presented attack does not yet threaten practical applications of MD5, but it comes rather close. ....[sic] in the future MD5 should no longer be implemented...[sic] where a collision-resistant hash function is required.<br /> }}&lt;/ref&gt;<br /> <br /> In 2005, researchers were able to create pairs of [[PostScript]] documents&lt;ref&gt;{{Cite web|url=http://www.schneier.com/blog/archives/2005/06/more_md5_collis.html |title=Schneier on Security: More MD5 Collisions |publisher=Schneier.com |date= |accessdate=2010-08-09}}&lt;/ref&gt; and [[X.509]] certificates&lt;ref&gt;{{Cite web|url=http://www.win.tue.nl/~bdeweger/CollidingCertificates/ |title=Colliding X.509 Certificates |publisher=Win.tue.nl |date= |accessdate=2010-08-09}}&lt;/ref&gt; with the same hash. Later that year, MD5's designer Ron Rivest wrote, &quot;md5 and sha1 are both clearly broken (in terms of collision-resistance).&quot;&lt;ref&gt;{{Cite web|url=http://mail.python.org/pipermail/python-dev/2005-December/058850.html |title=[Python-Dev&amp;#93; hashlib - faster md5/sha, adds sha256/512 support |publisher=Mail.python.org |date= |accessdate=2010-08-09}}&lt;/ref&gt;<br /> <br /> On 30 December 2008, a group of researchers announced at the 25th [[Chaos Communication Congress]] how they had used MD5 collisions to create an intermediate certificate authority certificate which appeared to be legitimate when checked via its MD5 hash.&lt;ref name=&quot;sslHarmful&quot; /&gt; The researchers used a cluster of [[Sony Playstation 3]]s at the [[EPFL]] in Lausanne, Switzerland&lt;ref&gt;{{Cite web|url=http://blog.wired.com/27bstroke6/2008/12/berlin.html|title=Researchers Use PlayStation Cluster to Forge a Web Skeleton Key|date=2008-12-31|publisher=Wired|accessdate=2008-12-31}}&lt;/ref&gt; to change a normal SSL certificate issued by [[RapidSSL]] into a working [[CA certificate]] for that issuer, which could then be used to create other certificates that would appear to be legitimate and issued by RapidSSL. [[VeriSign]], the issuers of RapidSSL certificates, said they stopped issuing new certificates using MD5 as their checksum algorithm for RapidSSL once the vulnerability was announced.&lt;ref&gt;{{Cite web|url=https://blogs.verisign.com/ssl-blog/2008/12/on_md5_vulnerabilities_and_mit.php|title=This morning's MD5 attack - resolved|last=Callan|first=Tim|date=2008-12-31|publisher=Verisign|accessdate=2008-12-31}}&lt;/ref&gt; Although Verisign declined to revoke existing certificates signed using MD5, their response was considered adequate by the authors of the exploit ([[Alexander Sotirov]], Marc Stevens, [[Jacob Appelbaum]], [[Arjen Lenstra]], David Molnar, Dag Arne Osvik, and Benne de Weger).&lt;ref name=&quot;sslHarmful&quot; /&gt; Bruce Schneier wrote of the attack that &quot;[w]e already knew that MD5 is a broken hash function&quot; and that &quot;no one should be using MD5 anymore.&quot;&lt;ref&gt;[http://www.schneier.com/blog/archives/2008/12/forging_ssl_cer.html Forging SSL Certificates]&lt;/ref&gt; The SSL researchers wrote, &quot;Our desired impact is that Certification Authorities will stop using MD5 in issuing new certificates. We also hope that use of MD5 in other applications will be reconsidered as well.&quot;&lt;ref name=&quot;sslHarmful&quot; /&gt;<br /> <br /> MD5 uses the [[Merkle–Damgård construction]], so if two prefixes with the same hash can be constructed, a common suffix can be added to both to make the collision more likely to be accepted as valid data by the application using it. Furthermore, current collision-finding techniques allow to specify an arbitrary ''prefix'': an attacker can create two colliding files that both begin with the same content. All the attacker needs to generate two colliding files is a template file with a 128-byte block of data aligned on a 64-byte boundary that can be changed freely by the collision-finding algorithm.<br /> <br /> Here's the hexcode of a sample for an MD5 collision:<br /> d131dd02c5e6eec4693d9a0698aff95c 2fcab5&lt;span style=&quot;color: red&quot;&gt;'''8'''&lt;/span&gt;712467eab4004583eb8fb7f89<br /> 55ad340609f4b30283e4888325&lt;span style=&quot;color: red&quot;&gt;'''7'''&lt;/span&gt;1415a 085125e8f7cdc99fd91dbd&lt;span style=&quot;color: red&quot;&gt;'''f'''&lt;/span&gt;280373c5b<br /> d8823e3156348f5bae6dacd436c919c6 dd53e2&lt;span style=&quot;color: red&quot;&gt;'''b'''&lt;/span&gt;487da03fd02396306d248cda0<br /> e99f33420f577ee8ce54b67080&lt;span style=&quot;color: red&quot;&gt;'''a'''&lt;/span&gt;80d1e c69821bcb6a8839396f965&lt;span style=&quot;color: red&quot;&gt;'''2'''&lt;/span&gt;b6ff72a70<br /> <br /> d131dd02c5e6eec4693d9a0698aff95c 2fcab5&lt;span style=&quot;color: red&quot;&gt;'''0'''&lt;/span&gt;712467eab4004583eb8fb7f89<br /> 55ad340609f4b30283e4888325&lt;span style=&quot;color: red&quot;&gt;'''f'''&lt;/span&gt;1415a 085125e8f7cdc99fd91dbd&lt;span style=&quot;color: red&quot;&gt;'''7'''&lt;/span&gt;280373c5b<br /> d8823e3156348f5bae6dacd436c919c6 dd53e2&lt;span style=&quot;color: red&quot;&gt;'''3'''&lt;/span&gt;487da03fd02396306d248cda0<br /> e99f33420f577ee8ce54b67080&lt;span style=&quot;color: red&quot;&gt;'''2'''&lt;/span&gt;80d1e c69821bcb6a8839396f965&lt;span style=&quot;color: red&quot;&gt;'''a'''&lt;/span&gt;b6ff72a70<br /> <br /> Both produce the hash value 79054025255fb1a26e4bc422aef54eb4, though they differ in 6 of 1024 bits.&lt;ref&gt;{{cite web<br /> |url=http://www.rtfm.com/movabletype/archives/2004_08.html#001055<br /> |title=A real MD5 collision<br /> |author=Eric Rescorla<br /> |date=2004-08-17<br /> |work=Educated Guesswork (blog)}}&lt;/ref&gt;<br /> <br /> ===Preimage vulnerability===<br /> In April 2009, a [[preimage attack]] against MD5 was published that breaks MD5's preimage resistance. This attack is only theoretical, with a computational complexity of 2&lt;sup&gt;123.4&lt;/sup&gt; for full preimage.&lt;ref&gt;{{Cite journal|author=Yu Sasaki, Kazumaro Aoki |date=2009-04-16 |title=Finding Preimages in Full MD5 Faster Than Exhaustive Search |url=http://www.springerlink.com/content/d7pm142n58853467/ |publisher=[[Springer Berlin Heidelberg]] }}&lt;/ref&gt;&lt;ref&gt;{{cite journal<br /> |title=Construction of the Initial Structure for Preimage Attack of MD5<br /> |publisher=[[Institute of Electrical and Electronics Engineers|IEEE]] Computer Society<br /> |year=2009|volume=1|pages=442–445|author=Ming Mao and Shaohui Chen and Jin Xu<br /> |url=http://doi.ieeecomputersociety.org/10.1109/CIS.2009.214<br /> |doi=10.1109/CIS.2009.214|isbn=978-0-7695-3931-7<br /> |journal=International Conference on Computational Intelligence and Security<br /> }}&lt;/ref&gt;<br /> <br /> ===Other vulnerabilities===<br /> {{Main article|rainbow table}}<br /> <br /> A number of projects have published MD5 [[rainbow table]]s online, that can be used to reverse many MD5 hashes into strings that collide with the original input, usually for the purposes of [[password]] cracking.<br /> <br /> The use of MD5 in some websites' [[Uniform Resource Locator|URLs]] means that [[search engine]]s such as [[Google]] can also sometimes function as a limited tool for reverse lookup of MD5 hashes.&lt;ref&gt;Steven J. Murdoch: [http://www.lightbluetouchpaper.org/2007/11/16/google-as-a-password-cracker/ Google as a password cracker], Light Blue Touchpaper Blog Archive, Nov 16, 2007. Retrieved July 27, 2008.&lt;/ref&gt;<br /> <br /> Both these techniques are rendered ineffective by the use of a sufficiently long [[Salt (cryptography)|salt]].<br /> <br /> ==Applications==<br /> MD5 digests have been widely used in the [[software]] world to provide some assurance that a transferred file has arrived intact. For example, file servers often provide a pre-computed MD5 (known as [[Md5sum]]) [[checksum]] for the files, so that a user can compare the checksum of the downloaded file to it. Unix-based operating systems include MD5 sum utilities in their distribution packages, whereas Windows users use third-party applications.<br /> <br /> However, now that it is easy to generate MD5 collisions, it is possible for the person who created the file to create a second file with the same checksum, so this technique cannot protect against some forms of malicious tampering. Also, in some cases the checksum cannot be trusted (for example, if it was obtained over the same channel as the downloaded file), in which case MD5 can only provide error-checking functionality: it will recognize a corrupt or incomplete download, which becomes more likely when downloading larger files.<br /> <br /> MD5 was widely used to store [[Password#Form of stored passwords|passwords]].&lt;ref&gt;[http://www.freebsd.org/doc/en/books/handbook/crypt.html FreeBSD Handbook, Security - DES, Blowfish, MD5, and Crypt]&lt;/ref&gt;&lt;ref&gt;[http://docs.sun.com/app/docs/doc/816-5174/policy.conf-4?l=en&amp;a=view Solaris 10 policy.conf(4) man page]&lt;/ref&gt; Sound uses of MD5 include [[Universally unique identifier#Version_3_.28MD5_hash.29|&lt;abbr title=&quot;Universally unique identifier&quot;&gt;UUID&lt;/abbr&gt;]] (also known as [[Globally unique identifier|GUID]]) version 3 specified in RFC 4122, [[CRAM-MD5|&lt;abbr title=&quot;Challenge Response Authentication Mechanism&quot;&gt;CRAM&lt;/abbr&gt;]] specified in RFC 2195, and the [[Internet Engineering Task Force|IETF]] &lt;abbr title=&quot;Publicly Verifiable Nominations Committee (NomCom) Random Selection&quot;&gt;NomCom&lt;/abbr&gt; lottery specified in RFC 3797.<br /> <br /> MD5 and other hash functions are also used in the field of [[electronic discovery]], in order to provide a unique identifier for each document that is exchanged during the legal discovery process. This method can be used to replace the [[Bates numbering|Bates stamp]] numbering system that has been used for decades during the exchange of paper documents.<br /> <br /> ==Algorithm==<br /> [[Image:MD5.svg|right|thumbnail|300px|Figure 1. One MD5 operation. MD5 consists of 64 of these operations, grouped in four rounds of 16 operations. ''F'' is a nonlinear function; one function is used in each round. ''M&lt;sub&gt;i&lt;/sub&gt;'' denotes a 32-bit block of the message input, and ''K&lt;sub&gt;i&lt;/sub&gt;'' denotes a 32-bit constant, different for each operation. [[Image:lll.png|left shift]]&lt;sub&gt;''s''&lt;/sub&gt; denotes a left bit rotation by ''s'' places; ''s'' varies for each operation. [[Image:Boxplus.png|Addition]] denotes addition modulo 2&lt;sup&gt;32&lt;/sup&gt;.]]<br /> <br /> MD5 processes a variable-length message into a fixed-length output of 128 bits. The input message is broken up into chunks of 512-bit blocks (sixteen 32-bit [[Endianness|little endian]] integers); the message is [[padding (cryptography)|padded]] so that its length is divisible by 512. The padding works as follows: first a single bit, 1, is appended to the end of the message. This is followed by as many zeros as are required to bring the length of the message up to 64 bits fewer than a multiple of 512. The remaining bits are filled up with a 64-bit [[Endianness|little endian]] integer representing the length of the original message, in bits.<br /> <br /> The main MD5 algorithm operates on a 128-bit state, divided into four 32-bit words, denoted ''A'', ''B'', ''C'' and ''D''. These are initialized to certain fixed constants. The main algorithm then operates on each 512-bit message block in turn, each block modifying the state. The processing of a message block consists of four similar stages, termed ''rounds''; each round is composed of 16 similar operations based on a non-linear function ''F'', [[modular addition]], and left rotation. Figure 1 illustrates one operation within a round. There are four possible functions ''F''; a different one is used in each round:<br /> :&lt;math&gt;F(X,Y,Z) = (X\wedge{Y}) \vee (\neg{X} \wedge{Z})&lt;/math&gt;<br /> :&lt;math&gt;G(X,Y,Z) = (X\wedge{Z}) \vee (Y \wedge \neg{Z})&lt;/math&gt;<br /> :&lt;math&gt;H(X,Y,Z) = X \oplus Y \oplus Z&lt;/math&gt;<br /> :&lt;math&gt;I(X,Y,Z) = Y \oplus (X \vee \neg{Z})&lt;/math&gt;<br /> <br /> &lt;math&gt;\oplus, \wedge, \vee, \neg&lt;/math&gt; denote the [[XOR]], [[Logical conjunction|AND]], [[Logical disjunction|OR]] and [[Negation|NOT]] operations respectively.<br /> <br /> {{-}}<br /> ===Pseudocode===<br /> The MD5 hash is calculated according to this algorithm:<br /> <br /> &lt;span style=&quot;color:green;&quot;&gt;//''Note: All variables are unsigned 32 bits and wrap modulo 2^32 when calculating''&lt;/span&gt;<br /> '''var''' ''int''[64] r, k<br /> <br /> &lt;span style=&quot;color:green;&quot;&gt;//''r specifies the per-round shift amounts''&lt;/span&gt;<br /> r[ 0..15] := {7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22}<br /> r[16..31] := {5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20}<br /> r[32..47] := {4, 11, 16, 3}<br /> r[48..63] := {6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21}<br /> <br /> &lt;span style=&quot;color:green;&quot;&gt;//''Use binary integer part of the sines of integers (Radians) as constants:''&lt;/span&gt;<br /> '''for''' i '''from''' 0 '''to''' 63<br /> k[i] := floor(abs(sin(i + 1)) × (2 '''pow''' 32))<br /> '''end for'''<br /> &lt;span style=&quot;color:green;&quot;&gt;//''(Or just use the following table):''&lt;/span&gt;<br /> k[ 0.. 3] := { 0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee }<br /> k[ 4.. 7] := { 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501 }<br /> k[ 8..11] := { 0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be }<br /> k[12..15] := { 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821 }<br /> k[16..19] := { 0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa }<br /> k[20..23] := { 0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8 }<br /> k[24..27] := { 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed }<br /> k[28..31] := { 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a }<br /> k[32..35] := { 0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c }<br /> k[36..39] := { 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70 }<br /> k[40..43] := { 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05 }<br /> k[44..47] := { 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665 }<br /> k[48..51] := { 0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039 }<br /> k[52..55] := { 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1 }<br /> k[56..59] := { 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1 }<br /> k[60..63] := { 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391 }<br /> <br /> &lt;span style=&quot;color:green;&quot;&gt;//''Initialize variables:''&lt;/span&gt;<br /> '''var''' ''int'' h0 := 0x67452301<br /> '''var''' ''int'' h1 := 0xEFCDAB89<br /> '''var''' ''int'' h2 := 0x98BADCFE<br /> '''var''' ''int'' h3 := 0x10325476<br /> <br /> &lt;span style=&quot;color:green;&quot;&gt;//''Pre-processing:''&lt;/span&gt;<br /> '''append''' &quot;1&quot; bit '''to''' message<br /> '''append''' &quot;0&quot; bits '''until''' message length in bits ≡ 448 (mod 512)<br /> '''append''' length '''to''' message<br /> &lt;/span&gt;&lt;span style=&quot;color:green;&quot;&gt; /* bit (not byte) length of unpadded message '''as''' ''64-bit little-endian integer'' */&lt;/span&gt;<br /> <br /> &lt;span style=&quot;color:green;&quot;&gt;//''Process the message in successive 512-bit chunks:''&lt;/span&gt;<br /> '''for each''' ''512-bit'' chunk '''of''' message<br /> break chunk into sixteen 32-bit little-endian words w[j], 0 ≤ j ≤ 15<br /> &lt;span style=&quot;color:green;&quot;&gt;//''Initialize hash value for this chunk:''&lt;/span&gt;<br /> '''var''' ''int'' a := h0<br /> '''var''' ''int'' b := h1<br /> '''var''' ''int'' c := h2<br /> '''var''' ''int'' d := h3<br /> &lt;span style=&quot;color:green;&quot;&gt;//''Main loop:''&lt;/span&gt;<br /> '''for''' i '''from''' 0 '''to''' 63<br /> '''if''' 0 ≤ i ≤ 15 '''then'''<br /> f := (b '''and''' c) '''or''' (('''not''' b) '''and''' d)<br /> g := i<br /> '''else if''' 16 ≤ i ≤ 31<br /> f := (d '''and''' b) '''or''' (('''not''' d) '''and''' c)<br /> g := (5×i + 1) '''mod''' 16<br /> '''else if''' 32 ≤ i ≤ 47<br /> f := b '''xor''' c '''xor''' d<br /> g := (3×i + 5) '''mod''' 16<br /> '''else if''' 48 ≤ i ≤ 63<br /> f := c '''xor''' (b '''or''' ('''not''' d))<br /> g := (7×i) '''mod''' 16<br /> temp := d<br /> d := c<br /> c := b<br /> b := b + '''leftrotate'''((a + f + k[i] + w[g]) , r[i])<br /> a := temp<br /> '''end for'''<br /> &lt;span style=&quot;color:green;&quot;&gt;//''Add this chunk's hash to result so far:''&lt;/span&gt;<br /> h0 := h0 + a<br /> h1 := h1 + b<br /> h2 := h2 + c<br /> h3 := h3 + d<br /> '''end for'''<br /> <br /> '''var''' ''char'' digest[16] := h0 '''append''' h1 '''append''' h2 '''append''' h3 &lt;span style=&quot;color:green;&quot;&gt;//''(expressed as little-endian)''&lt;/span&gt;<br /> <br /> &lt;span style=&quot;color:green;&quot;&gt;//''leftrotate function definition''&lt;/span&gt;<br /> '''leftrotate''' (x, c)<br /> '''return''' (x &lt;&lt; c) '''or''' (x &gt;&gt; (32-c));<br /> <br /> ''Note: Instead of the formulation from the original RFC 1321 shown, the following may be used for improved efficiency (useful if assembly language is being used - otherwise, the compiler will generally optimize the above code. Since each computation is dependent on another in these formulations, this is often slower than the above method where the nand/and can be parallelised):''<br /> (0 ≤ i ≤ 15): f := d '''xor''' (b '''and''' (c '''xor''' d))<br /> (16 ≤ i ≤ 31): f := c '''xor''' (d '''and''' (b '''xor''' c))<br /> <br /> ==MD5 hashes==<br /> The 128-bit (16-byte) MD5 hashes (also termed ''message digests'') are typically represented as a sequence of 32 [[hexadecimal]] digits. The following demonstrates a 43-byte [[ASCII]] input and the corresponding MD5 hash:<br /> <br /> MD5(&quot;[[The quick brown fox jumps over the lazy dog]]&quot;)<br /> = 9e107d9d372bb6826bd81d3542a419d6<br /> <br /> Even a small change in the message will (with overwhelming probability) result in a mostly different hash, due to the [[avalanche effect]]. For example, adding a period to the end of the sentence:<br /> <br /> MD5(&quot;[[The quick brown fox jumps over the lazy dog]]'''.'''&quot;)<br /> = e4d909c290d0fb1ca068ffaddf22cbd0<br /> <br /> The hash of the zero-length string is:<br /> <br /> MD5(&quot;&quot;)<br /> = d41d8cd98f00b204e9800998ecf8427e<br /> <br /> The MD5 algorithm is specified for messages consisting of any number of bits; it is not limited to multiples of eight bits ([[Octet (computing)|octets]], [[byte]]s) as shown in the examples above. Some MD5 implementations such as [[md5sum]] might be limited to octets, or they might not support ''streaming'' for messages of an initially undetermined length.<br /> <br /> ==See also==<br /> * [[Comparison of cryptographic hash functions]]<br /> * [[md5deep]]<br /> * [[md5sum]]<br /> * [[HashClash]]<br /> * [[MD6]]<br /> <br /> ==Notes==<br /> {{Reflist|colwidth=30em}}<br /> <br /> ==References==<br /> * {{Cite conference<br /> | first = Thomas A.<br /> | last = Berson<br /> | title = Differential Cryptanalysis Mod 2&lt;sup&gt;32&lt;/sup&gt; with Applications to MD5<br /> | booktitle = EUROCRYPT<br /> | year = 1992<br /> | pages = 71–80<br /> | id = ISBN 3-540-56413-6<br /> }}<br /> * {{Cite book<br /> | author = Bert den Boer; Antoon Bosselaers<br /> | title = Collisions for the Compression Function of MD5<br /> | booktitle = EUROCRYPT<br /> | year = 1993<br /> | pages = 293–304<br /> | isbn = 3-540-57600-2<br /> | publisher = Springer<br /> | location = Berlin; London<br /> }}<br /> * Hans Dobbertin, Cryptanalysis of MD5 compress. Announcement on Internet, May 1996. {{Cite web|url=http://citeseer.ist.psu.edu/dobbertin96cryptanalysis.html |title=CiteSeerX |publisher=Citeseer.ist.psu.edu |date= |accessdate=2010-08-09}}<br /> * {{Cite journal<br /> | first = Hans<br /> | last = Dobbertin<br /> | title = The Status of MD5 After a Recent Attack<br /> | journal = CryptoBytes<br /> | volume = 2<br /> | issue = 2<br /> | year = 1996<br /> | url = ftp://ftp.rsasecurity.com/pub/cryptobytes/crypto2n2.pdf<br /> }}<br /> * {{Cite conference<br /> | author = Xiaoyun Wang; Hongbo Yu<br /> | title = How to Break MD5 and Other Hash Functions<br /> | booktitle = EUROCRYPT<br /> | year = 2005<br /> | url = http://www.infosec.sdu.edu.cn/uploadfile/papers/How%20to%20Break%20MD5%20and%20Other%20Hash%20Functions.pdf<br /> | id = ISBN 3-540-25910-4<br /> }}<br /> <br /> ==External links==<br /> &lt;!--======================== {{No more links}} ============================<br /> | PLEASE BE CAUTIOUS IN ADDING MORE LINKS TO THIS ARTICLE. Wikipedia |<br /> | is not a collection of links nor should it be used for advertising. |<br /> | |<br /> | Excessive or inappropriate links WILL BE DELETED. |<br /> | See [[Wikipedia:External links]] &amp; [[Wikipedia:Spam]] for details. |<br /> | |<br /> | If there are already plentiful links, please propose additions or |<br /> | replacements on this article's discussion page, or submit your link |<br /> | to the relevant category at the Open Directory Project (dmoz.org) |<br /> | and link back to that category using the {{dmoz}} template. |<br /> ======================= {{No more links}} =============================--&gt;<br /> * RFC 1321 ''The MD5 Message-Digest Algorithm''<br /> * RFC 6151 ''Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms''<br /> * [http://www.w3.org/TR/1998/REC-DSig-label/MD5-1_0 W3C recommendation on MD5]<br /> * [http://purl.net/xyzzy/src/md5.cmd REXX MD5 test suite] covers MD5 examples in various RFCs (incl. [[Request for Comments#Obtaining RFCs|errata]])<br /> <br /> {{Crypto navbox|hash}}<br /> <br /> {{DEFAULTSORT:Md5}}<br /> [[Category:Articles with example pseudocode]]<br /> [[Category:Checksum algorithms]]<br /> [[Category:Broken hash functions]]<br /> <br /> [[ar:إم دي5]]<br /> [[bg:MD5]]<br /> [[ca:MD5]]<br /> [[cs:Message-Digest algorithm]]<br /> [[da:MD5]]<br /> [[de:Message-Digest Algorithm 5]]<br /> [[es:MD5]]<br /> [[eo:MD5]]<br /> [[eu:MD5]]<br /> [[fa:ام‌دی۵]]<br /> [[fr:MD5]]<br /> [[ko:MD5]]<br /> [[hy:MD5]]<br /> [[hr:MD5]]<br /> [[id:MD5]]<br /> [[it:MD5]]<br /> [[he:MD5]]<br /> [[lt:MD5]]<br /> [[hu:MD5]]<br /> [[ml:MD5]]<br /> [[ms:MD5]]<br /> [[nl:MD5]]<br /> [[ja:MD5]]<br /> [[no:MD5]]<br /> [[pl:MD5]]<br /> [[pt:MD5]]<br /> [[ro:MD5]]<br /> [[ru:MD5]]<br /> [[sk:Message-Digest algorithm]]<br /> [[sl:Algoritem MD5]]<br /> [[sr:MD5]]<br /> [[fi:MD5]]<br /> [[sv:MD5]]<br /> [[th:MD5]]<br /> [[tg:MD5]]<br /> [[tr:MD5]]<br /> [[uk:MD5]]<br /> [[vi:MD5]]<br /> [[zh:MD5]]</div> 111.118.248.94