wordpress登陸密碼忘記了,可以通過登陸數(shù)據(jù)庫修改wp-user表格的MD5加密的字段。
十年的哈爾濱網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整哈爾濱建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“哈爾濱網(wǎng)站設(shè)計”,“哈爾濱網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
所需工具:phpMyAdmin的賬號密碼
步驟:
一、登陸網(wǎng)站數(shù)據(jù)庫后臺,輸入賬號密碼。虛擬主機的phpMyAdmin入口一般在虛擬主機服務(wù)商的網(wǎng)站里面。
二、進入數(shù)據(jù)庫后,找到wp-users表格,點進去,可以看到user_pass字段,把下面的一長串MD5代碼改5d41402abc4b2a76b9719d911017c592然后點提交修改。"5d41402abc4b2a76b9719d911017c592"對應(yīng)的密碼是"hello".
三、登陸網(wǎng)站后臺,輸入用戶名,密碼此時已經(jīng)變成hello了。
四、進入wordpress后臺,及時修改密碼。選擇用戶菜單,找到當前用戶名,選擇編輯。在新密碼選項中,選擇生成,然后在修改你想要的密碼。最后點擊保存。
注意:這里主要以阿里云的虛擬主機為例,大部分虛擬主機的數(shù)據(jù)庫進入基本雷同。如果是服務(wù)器主機,登陸服務(wù)器在瀏覽器輸入localhost/phpMyAdmin后面操作步驟一樣。
以下內(nèi)容復(fù)制自百度經(jīng)驗
hong013244690的經(jīng)驗
WordPress后臺登陸密碼尋回方法
使用wordpress程序自帶的找回密碼方式
如果你忘記wordpress后臺密碼,在輸入錯誤的密碼過后,后臺會提醒wordpress密碼錯誤,這時候你在登錄頁點擊”忘記密碼?”
然后輸入admin或電子郵箱地址。接著,
你會收到密碼重置郵件,
點擊里面的重置鏈接。所以為了安全起見,自己郵箱的密碼也不要太簡單,否則被曲線拿下了網(wǎng)站就悲催了。(最簡單的方法)
通過執(zhí)行Mysql語句更改Wordpress密碼
通過
password-resetter
文件找回后臺密碼。首先需要下載:
password-resetter.zip文件。然后將password-resetter.zip解壓;上傳password-resetter.php到WordPress根目錄;運行http://域名/password-resetter.php;在Set
admin
password:后面輸入你要重置的管理員密碼!然后點提交查詢內(nèi)容就可以完成wordpress
更改密碼了。修改完畢后一定不要刪除根目錄的該文件。
通過修改MD5值找回Wordpress密碼。登陸phpmyadmin,登陸后第一步是選擇數(shù)據(jù)庫,一般虛擬主機都帶有phpmyadmin。然后打開wp_users字段,找到管理員用戶,將其中的user_pass字段中的MD5密碼為:
(例子)5d41402abc4b2a76b9719d911017c592,然后回到WordPress登陸頁面,使用密碼”hello”
登陸。
1領(lǐng)酷網(wǎng)a
href=""
target="_blank";/a
下面的六種方法都可以解決WordPress忘記密碼的問題,你可以根據(jù)自身情況任選一種。 1、重裝WordPress。我們不推薦這種方法,重裝還要下載安裝文件比較麻煩。 2、使用找回密碼功能。WordPress 本身支持郵件取回密碼功能,如果管理員賬戶的電子郵件有效,在后臺登錄界面,點擊“忘記密碼?”鏈接,輸入正確郵件地址后,即可收到一封含重置密碼的郵件。 3、把WP目錄下的wp-config.php文件刪除,然后重新訪問網(wǎng)站,這會讓你重新進行最后一個安裝步驟,這樣就可以得到新的密碼。 4、登錄 phpMyAdmin ,找到WP數(shù)據(jù)庫的wp_users表,在這里可以看到默認的用戶admin,它的密碼是加密過的。這時,我們可以修改這條數(shù)據(jù),找到user_pass這個域,把它原來的一長串數(shù)據(jù)刪掉,寫上你的密碼,比如123456。這時,你會看到一個函數(shù)的下拉框,把它選擇為MD5。這是為了把你的密碼進行MD5算法加密,再保存。這樣,再通過你的域名/wp-admin 訪問到管理入口,用這個密碼就可以登陸了。 5、通過 SQL 語句修改密碼。登錄 phpMyAdmin 進入 WordPress 數(shù)據(jù)庫并執(zhí)行以下 SQL 語句:1UPDATE wp_users SET user_pass = MD5(‘PASSWORD’) WHERE wp_users.user_login =’admin’ LIMIT 1; 6、使用 PHP 找回密碼。PHP 方法歸根結(jié)底也是 SQL 查詢語句修改的方式,只不過提供一個用戶界面。將以下代碼復(fù)制并保存為 password-resetter.php 文件,上傳至 WordPress 根目錄,然后運行該文件,輸入密碼即可重置。 ?
一。研究wordpress時wordpess的密碼密碼生成與登錄密碼驗證方式很重要
WordPress密碼已成為整合的首要目標,如何征服整合,就得了解WordPress密碼算法。
WordPress系統(tǒng)的用戶密碼是保存在wp_users數(shù)據(jù)表的user_pass字段,密碼是通過Portable PHP password hashing framework類產(chǎn)生的,密碼的形式是隨機且不可逆,同一個明文的密碼在不同時間,產(chǎn)生的密文也不一樣,相對來說較為安全。
二。密碼生成方式
隨機產(chǎn)生一個salt 并將salt和password相加
進行了count次md5 然后和encode64的hash數(shù)值累加
最后得到一個以$P$開頭的密碼,這個密碼每次產(chǎn)生的結(jié)果都不一樣
以下為在wordpress中調(diào)用密碼生成的代碼
[php] view plain copy print?
?php
$password = 'abc';
global $wp_hasher;
if ( empty($wp_hasher) ) {
require_once( './wp-includes/class-phpass.php');
$wp_hasher = new PasswordHash(8, TRUE);
}
echo $wp_hasher-HashPassword($password);
?
三。wordpress密碼生成與登錄驗證
wordpress中位置為\wp-includes\class-phpass.php
以下是wordpress中生成密碼的代碼直接運行可查看密碼的生成以及驗證過程
[php] view plain copy print?
?php
class PasswordHash {
var $itoa64;
var $iteration_count_log2;
var $portable_hashes;
var $random_state;
function PasswordHash($iteration_count_log2, $portable_hashes)
{
$this-itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
if ($iteration_count_log2 4 || $iteration_count_log2 31)
$iteration_count_log2 = 8;
$this-iteration_count_log2 = $iteration_count_log2;
$this-portable_hashes = $portable_hashes;
$this-random_state = microtime() . uniqid(rand(), TRUE); // removed getmypid() for compability reasons
}
function get_random_bytes($count)
{
$output = '';
if ( @is_readable('/dev/urandom')
($fh = @fopen('/dev/urandom', 'rb'))) {
$output = fread($fh, $count);
fclose($fh);
}
if (strlen($output) $count) {
$output = '';
for ($i = 0; $i $count; $i += 16) {
$this-random_state =
md5(microtime() . $this-random_state);
$output .=
pack('H*', md5($this-random_state));
}
$output = substr($output, 0, $count);
}
return $output;
}
function encode64($input, $count)
{
$output = '';
$i = 0;
do {
$value = ord($input[$i++]);
$output .= $this-itoa64[$value 0x3f];
if ($i $count)
$value |= ord($input[$i]) 8;
$output .= $this-itoa64[($value 6) 0x3f];
if ($i++ = $count)
break;
if ($i $count)
$value |= ord($input[$i]) 16;
$output .= $this-itoa64[($value 12) 0x3f];
if ($i++ = $count)
break;
$output .= $this-itoa64[($value 18) 0x3f];
} while ($i $count);
return $output;
}
function gensalt_private($input)
{
$output = '$PXXXXX;
$output .= $this-itoa64[min($this-iteration_count_log2 +
((PHP_VERSION = '5') ? 5 : 3), 30)];
$output .= $this-encode64($input, 6);
return $output;
}
function crypt_private($password, $setting)
{
$output = '*0';
if (substr($setting, 0, 2) == $output)
$output = '*1';
$id = substr($setting, 0, 3);
# We use "$P{1}quot;, phpBB3 uses "$H{1}quot; for the same thing
if ($id != '$PXXXXX $id != '$HXXXXX)
return $output;
$count_log2 = strpos($this-itoa64, $setting[3]);
if ($count_log2 7 || $count_log2 30)
return $output;
$count = 1 $count_log2;
$salt = substr($setting, 4, 8);
if (strlen($salt) != 8)
return $output;
# We're kind of forced to use MD5 here since it's the only
# cryptographic primitive available in all versions of PHP
# currently in use. To implement our own low-level crypto
# in PHP would result in much worse performance and
# consequently in lower iteration counts and hashes that are
# quicker to crack (by non-PHP code).
if (PHP_VERSION = '5') {
$hash = md5($salt . $password, TRUE);
do {
$hash = md5($hash . $password, TRUE);
} while (--$count);
} else {
$hash = pack('H*', md5($salt . $password));
do {
$hash = pack('H*', md5($hash . $password));
} while (--$count);
}
$output = substr($setting, 0, 12);
$output .= $this-encode64($hash, 16);
return $output;
}
function gensalt_extended($input)
{
$count_log2 = min($this-iteration_count_log2 + 8, 24);
# This should be odd to not reveal weak DES keys, and the
# maximum valid value is (2**24 - 1) which is odd anyway.
$count = (1 $count_log2) - 1;
$output = '_';
$output .= $this-itoa64[$count 0x3f];
$output .= $this-itoa64[($count 6) 0x3f];
$output .= $this-itoa64[($count 12) 0x3f];
$output .= $this-itoa64[($count 18) 0x3f];
$output .= $this-encode64($input, 3);
return $output;
}
function gensalt_blowfish($input)
{
# This one needs to use a different order of characters and a
# different encoding scheme from the one in encode64() above.
# We care because the last character in our encoded string will
# only represent 2 bits. While two known implementations of
# bcrypt will happily accept and correct a salt string which
# has the 4 unused bits set to non-zero, we do not want to take
# chances and we also do not want to waste an additional byte
# of entropy.
$itoa64 = './ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
$output = '$2aXXXXX;
$output .= chr(ord('0') + $this-iteration_count_log2 / 10);
$output .= chr(ord('0') + $this-iteration_count_log2 % 10);
$output .= 'XXXXX;
$i = 0;
do {
$c1 = ord($input[$i++]);
$output .= $itoa64[$c1 2];
$c1 = ($c1 0x03) 4;
if ($i = 16) {
$output .= $itoa64[$c1];
break;
}
$c2 = ord($input[$i++]);
$c1 |= $c2 4;
$output .= $itoa64[$c1];
$c1 = ($c2 0x0f) 2;
$c2 = ord($input[$i++]);
$c1 |= $c2 6;
$output .= $itoa64[$c1];
$output .= $itoa64[$c2 0x3f];
} while (1);
return $output;
}
function HashPassword($password)
{
$random = '';
if (CRYPT_BLOWFISH == 1 !$this-portable_hashes) {
$random = $this-get_random_bytes(16);
$hash =
crypt($password, $this-gensalt_blowfish($random));
if (strlen($hash) == 60)
return $hash;
}
if (CRYPT_EXT_DES == 1 !$this-portable_hashes) {
if (strlen($random) 3)
$random = $this-get_random_bytes(3);
$hash =
crypt($password, $this-gensalt_extended($random));
if (strlen($hash) == 20)
return $hash;
}
if (strlen($random) 6)
$random = $this-get_random_bytes(6);
$hash =
$this-crypt_private($password,
$this-gensalt_private($random));
if (strlen($hash) == 34)
return $hash;
# Returning '*' on error is safe here, but would _not_ be safe
# in a crypt(3)-like function used _both_ for generating new
# hashes and for validating passwords against existing hashes.
return '*';
}
function CheckPassword($password, $stored_hash)
{
$hash = $this-crypt_private($password, $stored_hash);
if ($hash[0] == '*')
$hash = crypt($password, $stored_hash);
return $hash == $stored_hash;
}
}
//原始密碼
$passwordValue = "123456";
//生成密碼
$wp_hasher = new PasswordHash(8, TRUE);
$sigPassword = $wp_hasher-HashPassword($passwordValue);
echo "生成的密碼為:".$sigPassword;
echo "\n";
//驗證密碼
$data = $wp_hasher-CheckPassword($passwordValue,$sigPassword);
if($data){
echo '密碼正確';
}else{
echo '密碼錯誤';
}
?
此為一個wordpres密碼生成與登錄驗證實例,其中HashPassword為生成密碼,CheckPassword為驗證密碼
itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; 為以上提到的生成salt的基礎(chǔ)字符串。
備注:由于csdn代碼顯示插件對特殊字符的限制。 請將以上代碼中 XXXXX替換為 $' 注意有單引號,代碼中一共有5處