Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Документация (https://forum.zone-game.info/forumdisplay.php?f=149)
-   -   Как поменять Password (https://forum.zone-game.info/showthread.php?t=5901)

PROGRAMMATOR 04.02.2010 22:06

Re: Как поменять Password
 
Вот вместо гаданий, можно посмотреть как работает авторегистрация учетной записи. ;)

PHP код:

public class AccountUtils
{
    
/**
     * Logger :)
     */
    
private static final Logger    log    Logger.getLogger(AccountUtils.class);

    
/**
     * Encodes password. SHA-1 is used to encode password bytes, Base64 wraps SHA1-hash to string.
     * 
     * @param password
     *            password to encode
     * @return retunrs encoded password.
     */
    
public static String encodePassword(String password)
    {
        try
        {
            
MessageDigest messageDiegest MessageDigest.getInstance("SHA-1");
            
messageDiegest.update(password.getBytes("UTF-8"));
            return 
Base64.encodeToString(messageDiegest.digest(), false);
        }
        catch (
NoSuchAlgorithmException e)
        {
            
log.error("Exception while encoding password");
            throw new 
Error(e);
        }
        catch (
UnsupportedEncodingException e)
        {
            
log.error("Exception while encoding password");
            throw new 
Error(e);
        }
    }



BeLiX 04.02.2010 22:11

Re: Как поменять Password
 
если я правельно понял то нужно просто изменить 1 строку и всё
PHP код:

public class AccountUtils
{
    
/**
     * Logger :)
     */
    
private static final Logger    log    Logger.getLogger(AccountUtils.class);

    
/**
     * Encodes password. SHA-1 is used to encode password bytes, Base64 wraps SHA1-hash to string.
     * 
     * @param password
     *            password to encode
     * @return retunrs encoded password.
     */
    
public static String encodePassword(String password)
    {
        try
        {
            
MessageDigest messageDiegest MessageDigest;
            
messageDiegest.update(password.getBytes("UTF-8"));
            return 
Base64.encodeToString(messageDiegest.digest(), false);
        }
        catch (
NoSuchAlgorithmException e)
        {
            
log.error("Exception while encoding password");
            throw new 
Error(e);
        }
        catch (
UnsupportedEncodingException e)
        {
            
log.error("Exception while encoding password");
            throw new 
Error(e);
        }
    }


кстати где хранится этот файл?

Perfecto 04.02.2010 22:13

Re: Как поменять Password
 
Покажете сруктуру таблицы - дам запрос на смену пароля (т.к. видно что тут тоже SHA-1)

VoltVolt 04.02.2010 22:19

Re: Как поменять Password
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 53876)
TTH (Tiger Tree Hash)
SHA-1 (Secure Hash Algorithm 1)
ED2K (EDonkey2000) Hash
AICH (Advanced Intelligent Corruption Handler)
MD5 (Message Digest 5)
CRC-32 (Cyclic Redundancy Check)

Спасибо, но я имел ввиду в игровых серверах других не наблюдал :)

PROGRAMMATOR 04.02.2010 22:19

Re: Как поменять Password
 
Тут SHA-1 и Base64. На php код такой:

PHP код:

// пароль 12345
// хеш jLIjfQZ5yojbZGTqxg2pY0VROWQ=

echo (base64_encode(sha1('12345'true))); 


Perfecto 04.02.2010 22:35

Re: Как поменять Password
 
А без пхп нельзя поменять, запросом в базу? Просто SHA-1 меняется без проблем, а вместе с base64?
c base64 ни разу не связывался, хотя как говорят его раскодировать можно елементарно, а вот в случае с SHA-1 там, если не ошибаюсь, раскодировать врятли получится как и md5, только если менять пароль

PROGRAMMATOR 04.02.2010 22:49

Re: Как поменять Password
 
Можно, но функция BASE64_ENCODE нужна.


Текущее время: 12:18. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot