Jump to content

Убрать шифрование.

Featured Replies

Posted
comment_125423

Здравствуйте. Подскажите пожалуйста, как убрать шифрование в этом коде?

<?php

	require_once('db.php');

	class User
	{
		var $id, $Online, $RegiDate, $Key, $Email, $IP, $SecureIP, $Money, $Coin, $Username, $UpdateDate , $Level, $MarriedTo, $Model, $Bank, $Doibung, $pHealth, $pArmor, $Warnings, $Screwdriver, $Tire, $LinhKienSung, $CaHop, $Dau, $Vang, $KhoangSan, $KimLoaiXau, $KimLoaiTot, $KhoaCui, $KhoaXin, $BanhMi, $Hambuger, $Pizza, $KillLog0, $KillLog1, $KillLog2, $KillLog3, $KillLog4, $KillLog5, $KillLog6, $KillLog7, $KillLog8, $KillLog9, $Materials, $Crack, $Pot, $ThanhGo, $PhoneNr, $WantedLevel, $pv0ModelId, $pv1ModelId, $pv2ModelId, $pv3ModelId, $pv4ModelId, $pv5ModelId, $pv6ModelId, $pv7ModelId, $pv8ModelId, $pv9ModelId, $pv10ModelId, $pv0Weapon0, $pv0Weapon1, $pv0Weapon2, $Sex, $AdminLevel, $Helper, $LuaMi, $Job, $Job2, $Rank, $Member, $DonateRank, $VIPExpire;
		
		public function User($id, $online, $regidate, $username, $key, $email, $ip, $secureip, $money, $coin)
		{
			$this->id = $id;
			$this->Online = $online;
			$this->RegiDate = $regidate;
			$this->Username = $username;
			$this->Key = $key;
			$this->Email = $email;
			$this->IP = $ip;
			$this->SecureIP = $secureip;
			$this->Money = $money;
			$this->Coin = $coin;
		}
		
		public function Login()
		{
			$ret = false;
			
			$str_username = str_replace("'", "''", $this->Username);
			$enc_pwd = strtoupper(hash('whirlpool',$this->Key));
			$sql = "select * from accounts where `Username`='$str_username' and `Key`='$enc_pwd'";
			$list = DataProvider::ExecQuery($sql);
			
			if($row = mysql_fetch_array($list))
			{
				$this->id = $row["id"];
				$this->Online = $row["Online"];
				$this->RegiDate = $row["RegiDate"];
				$this->Username = $row["Username"];
				$this->Key = $row["Key"];
				$this->Email = $row["Email"];
				$this->IP = $row["IP"];
				$this->SecureIP = $row["SecureIP"];
				$this->Money = $row["Money"];
				$this->Coin = $row["Coin"];
				$this->UpdateDate = $row["UpdateDate"];
				$this->Level = $row["Level"];
				$this->MarriedTo = $row["MarriedTo"];
				$this->Model = $row["Model"];
				$this->Bank = $row["Bank"];
				$this->Doibung = $row["Doibung"];
				$this->pHealth = $row["pHealth"];
				$this->pArmor = $row["pArmor"];
				$this->Warnings = $row["Warnings"];
				$this->Screwdriver = $row["Screwdriver"];
				$this->Tire = $row["Tire"];
				$this->LinhKienSung = $row["LinhKienSung"];
				$this->CaHop = $row["CaHop"];
				$this->Dau = $row["Dau"];
				$this->Vang = $row["Vang"];
				$this->KhoangSan = $row["KhoangSan"];
				$this->KimLoaiXau = $row["KimLoaiXau"];
				$this->KimLoaiTot = $row["KimLoaiTot"];
                $this->KhoaCui = $row["KhoaCui"];
                $this->KhoaXin = $row["KhoaXin"];
                $this->BanhMi = $row["BanhMi"];
                $this->Hambuger = $row["Hambuger"];
                $this->Pizza = $row["Pizza"];
                $this->KillLog0 = $row["KillLog0"];
                $this->KillLog1 = $row["KillLog1"];
                $this->KillLog2 = $row["KillLog2"];
                $this->KillLog3 = $row["KillLog3"];
                $this->KillLog4 = $row["KillLog4"];
                $this->KillLog5 = $row["KillLog5"];
                $this->KillLog6 = $row["KillLog6"];
                $this->KillLog7 = $row["KillLog7"];
                $this->KillLog8 = $row["KillLog8"];
                $this->KillLog9 = $row["KillLog9"];		
                $this->Materials = $row["Materials"]; 
                $this->Crack = $row["Crack"]; 
                $this->Pot = $row["Pot"]; 
                $this->ThanhGo = $row["ThanhGo"];	
                $this->PhoneNr = $row["PhoneNr"];	
                $this->pv0ModelId = $row["pv0ModelId"];
                $this->pv1ModelId = $row["pv1ModelId"];
                $this->pv2ModelId = $row["pv2ModelId"];
                $this->pv3ModelId = $row["pv3ModelId"];
                $this->pv4ModelId = $row["pv4ModelId"];	
                $this->pv5ModelId = $row["pv5ModelId"];
                $this->pv6ModelId = $row["pv6ModelId"];
                $this->pv7ModelId = $row["pv7ModelId"];
                $this->pv8ModelId = $row["pv8ModelId"];
                $this->pv9ModelId = $row["pv9ModelId"];
                $this->pv10ModelId = $row["pv10ModelId"];	
                $this->pv0Weapon0 = $row["pv0Weapon0"];
                $this->pv0Weapon1 = $row["pv0Weapon1"];	 
                $this->pv0Weapon2 = $row["pv0Weapon2"];	
                $this->Sex = $row["Sex"];	
                $this->AdminLevel = $row["AdminLevel"];
                $this->Helper = $row["Helper"];
                $this->LuaMi = $row["LuaMi"];
                $this->Job = $row["Job"];
                $this->Job2 = $row["Job2"];
                $this->Member = $row["Member"];
                $this->Rank = $row["Rank"];
				$this->DonateRank = $row["DonateRank"];
				$this->VIPExpire = $row["VIPExpire"];
				
				$ret = true;
			}
			return $ret;
		}
		public function ChangePWD($OPWD,$NPWD,$NPWD2,$USER, $enc = false)
        {
            $ret = false;

            $str_username = str_replace("'", "''", $USER);
            if($enc == false) {$enc_pwd = strtoupper(hash('whirlpool',$OPWD));}else{$enc_pwd = $OPWD;}
            $sql = "select * from accounts where `Username`='$str_username' and `Key`='$enc_pwd'";
            $list = DataProvider::ExecQuery($sql);
            $row = mysql_fetch_array($list);
            if(is_array($row))
            {
                
                if($NPWD == $NPWD2)
                {
                    
                    $n_pwd = strtoupper(hash('whirlpool',$NPWD));
                    $sql = "UPDATE `accounts` SET `Key` = '".$n_pwd."' where `Username`='$str_username';";
                    $list = DataProvider::ExecQuery($sql);
                    $ret = "Новый пароль был отослан. проверьте Ваш электронный ящик. Не забудьте посмотреть спам.";
                }else $ret = "Новый пароль и подтверждение нового пароля не совпадают";
            }else{
                $ret = "Пароли не совпадают";   
            }
            return $ret;
        }
	    public function ForgotPWD($email)
        {
            $ret = false;

            $email = str_replace("'", "''", $email);
            $sql = "select * from `accounts` where `Email`='$email';";
            $list = DataProvider::ExecQuery($sql);
            $row = mysql_fetch_array($list);
            if(is_array($row))
            {
                $ret =$row;
            }else{
                $ret = "NOTFOUND";   
            }
            return $ret;
        }
		
	}
?>

 

  • Author
comment_125425

Неужели никто не знает?

Имеется ввиду, как убрать шифрование пароля при регистрации. Скажем, чтобы в БД пароль был виден.

comment_125453

leon0295, По аккуратнее с этим! :)

2.2.2.6 Чрезмерный подъем тем

Запрещается поднимать темы, писать сообщения, с содержанием не несущей никакой информации (АП, UP, Подниму, вверх и т.д.) более чем раз в сутки (24 часа). При нарушении данного пункта, автору выдается предупреждение. 

comment_125466

мd5

через код наверно никак, через базу может. Я точно не знаю как)

comment_125468

шифруется чкрез hash('whirlpool' ....

Про hash() читай в документации к php/

Про whirlpool в гугле

  • Author
comment_125564

Всем спасибо. Решил проблему следующим образом:

Строки:

			$str_username = str_replace("'", "''", $this->Username);
			$enc_pwd = strtoupper(hash('whirlpool',$this->Key));

Заменил на:

			$str_username = str_replace("'", "''", $this->Username);
			$enc_pwd = str_replace("'", "''", $this->Key);

 

Смотрим как скрипт проверяет логин и делаем тоже самое для пароля.

Учитывайте тот факт, что при такой схеме пароль (возможно) не будет чувствителен к регистру.

 

 

comment_125565
4 часа назад, leon0295 сказал:

Решил проблему следующим образом:

Убрать проблему путём удаления вирпул и добавления одинарных кавычек — это не решение. Позже из-за этого могут всплыть проблемы.

  • Author
comment_125566
2 минуты назад, Bonfire сказал:

Убрать проблему путём удаления вирпул и добавления одинарных кавычек — это не решение. Позже из-за этого могут всплыть проблемы.

Можете порекомендовать тогда как правильно сделать?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.