Altın Konu MaviAyGames | Şifre güvenliğinizi yükseltin

MaviAy44

Emre Kırıcı
Katılım
16 Tem 2019
Konular
715
Mesajlar
3,551
Çözüm
47
Online süresi
6mo 20d
Reaksiyon Skoru
2,109
Altın Konu
34
Başarım Puanı
309
MmoLira
19,556
DevLira
122
Ticaret - 100%
7   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Merhaba ,
Bugün küçük bir paylaşım yapmak istiyorum. Çoğunuz tarafından kullanılan geçerli varsayılan karma (bazı istisnalar olabilir) MD5 Karma'dır. Bu karma, bu modern günlerde karma şifreleme için en iyi seçenek olmayabilir. Bu yüzden karma şifreyi geliştirmek adına birşey düşündüm ve bunun için çözümüm

Bu Yöntem, çok tutulmuştu ve bu yüzden bunu bcrypt veya scrypt üzerinden seçmiştim.

Bu konu acemi bir rehber değildir!
Biraz c ++ bilginiz varsa ve kaynakla nasıl çalışacağınızı biliyorsanız sadece talimatlarımı takip edin !


Libargon2'yi oluşturun




1. Git-Repo'yu ZIP Dosyası olarak indirin ve çıkarın.
2. libgame klasörünüze göre bir klasör oluşturun ve libargon2 olarak adlandırın.
3. include , src , Makefile ve libargon2.pc.in dosyasını yeni oluşturulan libargon2 klasörüne kopyalayın.

Şimdi klasörünüz şöyle görünmelidir:



4. Şimdi bu libargon2'yi derleme sunucunuza yükleyin ve klasöre girin.
5. "gmake all" komutunu girin ve bitmesini bekleyin.
6. Oyun kaynağınıza gidin ve Makefile'ı açın.
7. Makefile içindeki MAINCPP = main.cpp bölümünü arayın ve bu satırın altına aşağıdaki kodu ekleyin.
NOT: libargon2'nizin Yolunu düzenlemeniz gerekebilir!


# Argon2
INCDIR + = -I ../../ libargon2 / içerir
LIBDIR + = -L ../../ libargon2
LIBS + = ../../libargon2/libargon2.a

Şimdi şöyle görünmeli:



Oyun çekirdeği kaynağının içindeki karmayı değiştirin (VARSAYILAN ŞİFRE () MYSQL FUNC TUTORIAL)


1. db.cpp dosyasını açın ve üstüne ekleyin:

Kod:
#include "../../libargon2/include/argon2.h"

2. Arat:

Kod:
char szEncrytPassword[
char szPassword[

and replace it with

char szEncrytPassword[EArgon2::HASH_LENGHT * 2 + 1] = {0, };
char szPassword[EArgon2::HASH_LENGHT * 2 + 1] = {0, };

3. Aratın

Kod:
"SELECT PASSWORD('%s'),password,securitycode,social_id,id,status,availDt - NOW() > 0,"

4. PASSWORD( ... ) kısmını silin ve aşağıdaki gibi gözükmesini sağlayın:

Kod:
"SELECT '%s',password,securitycode,social_id,id,status,availDt - NOW() > 0,"


5. Şimdi szLogin için aşağıya doğru arama yapın ve Argon2PasswordHash (pinfo-> passwd) .c_str () 'dan önce ekleyin,
Bu şöyle görünmelidir:




6. AccountDB :: AccountDB (): için arama yapın ve şu kod parçasının üstüne ekleyin:

Kod:
std::string DBManager::Argon2PasswordHash(const char* c_pszPassword)
{
    std::string returnStr = "";

    uint8_t hash[EArgon2::HASH_LENGHT];
    uint8_t salt[] = "MYSALTISCOOL";
    uint32_t saltlen = strlen((char*)salt);

    uint8_t* pwd = (uint8_t*)strdup(c_pszPassword);
    uint32_t pwdlen = strlen((char*)pwd);

    argon2id_hash_raw(EArgon2::TIME_COST, EArgon2::MEMORY_COST, EArgon2::PARALLELISM, pwd, pwdlen, salt, saltlen, hash, EArgon2::HASH_LENGHT);
    free(pwd);

    char s_buffer[EArgon2::HASH_LENGHT * 2 + 1];
    memset(s_buffer, 0x00, sizeof(s_buffer));
    for (uint32_t i = 0; i < EArgon2::HASH_LENGHT; ++i) {
        sprintf(s_buffer + (i * 2), "%02x", hash[i]);
    }

    returnStr = s_buffer;
    return returnStr;
}


7. Şimdi DB.h dosyasını açın ve typse struct SUseTime kodunu ekleyin:

Kod:
enum EArgon2
{
    HASH_LENGHT = 64,
    TIME_COST = 2,
    MEMORY_COST = 1 << 16,
    PARALLELISM = 1
};


8. Şimdi std :: vector <TUseTime> m_vec_kUseTime; 'ı ekleyin:

Kod:
public:
        std::string    Argon2PasswordHash(const char* c_pszPassword);


9. input_auth.cpp dosyasını açın ve tekrar arayın:

Kod:
"SELECT PASSWORD('%s'),password,securitycode,social_id,id,status,availDt - NOW() > 0,"


10. Bunu şu şekilde değiştirin:

Kod:
"SELECT '%s',password,securitycode,social_id,id,status,availDt - NOW() > 0,"


11. Aşağıya biraz bakın ve kendi bloğunuza göre değiştirin:


szPasswd, szLogin);

//CHANGE TO

DBManager::Instance().Argon2PasswordHash(szPasswd).c_str(), szLogin);

Şimdilik sadece navicat account.account tablosunu düzenlemeniz ve parola boyutunu 128 olarak ayarlamanız gerekir (Neden 128? Db.h EArgon2 :: HASH_LENGTH = 64. 64 * 2 = 128). Bunun için jenerasyonun bağlantısını takip edin:
kurulumu için örnek yapılandırma:
 

En Çok Reaksiyon Alan Mesajlar

Nağtıon sein ya SA
 
tenks
 
şifre güvenliğimi yükselttim mutluyum.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)