Avatar billede Slettet bruger
13. marts 2006 - 20:21 Der er 8 kommentarer

Konvertere Win CD-Key til binær

Hej alle sammen.

Jeg har en funktion der kan konvertere CD-Key'en fra binær til hex, sådan som det står på CD-æsken.. Men jeg kunne godt tænke mig at kunne gøre det den anden vej. Altså fra Hex til binær, således at jeg kan lave en CD-Key Changer ved at indtaste hex koden.. men denne her funktion er langt over min forstand til jeg kan lave den omvendt, måske nogen kan, eller har et andet kode eksempel på det?

public string GetOSProductKey()
        {
            try
            {
                RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");

                byte[] data = (byte[])key.GetValue("DigitalProductID");
                string result = "";
                       
                for (int i = 24; i >= 0; i--)
                {
                    int x=0;

                    for (int j = 14; j >= 0; j--)
                    {   
                        x = (x<<8) + data[0x34+j];
                        data[0x34+j] =(byte)(x/24);
                        x = x%24;
                    }
                           
                    result = result.Insert(0,digits[x].ToString());
                           
                    if ( ((i%5)==0) && (i!=0) )
                    {
                        result = result.Insert(0,('-').ToString());
                    }
                }
                key.Close();
                return result;
            }
            catch(Exception)
            {
                return "Error";
            }
        }
Avatar billede arne_v Ekspert
13. marts 2006 - 20:37 #1
jeg lavede engang den her:

using System;

class MainClass
{
    private static string DIGITS = "0123456789ABCDEF";
    private static int FromAny(string s, int radix)
    {
        int res = 0;
        char[] sa = s.ToCharArray();
        for (int i = 0; i < s.Length; i++) {
            res = res * radix + DIGITS.IndexOf(sa[i]);
        }
        return res;
    }
    private static string ToAny(int i, int radix)
    {
        string res = "";
        int tmp = i;
        while (tmp > 0) {
            res = DIGITS.ToCharArray()[tmp % radix] + res;
            tmp = tmp / radix;
        }
        return res;
    }
    public static int FromDec(string s)
    {
        return FromAny(s, 10);
    }
    public static string ToDec(int i)
    {
        return ToAny(i, 10);
    }
    public static int FromHex(string s)
    {
        return FromAny(s, 16);
    }
    public static string ToHex(int i)
    {
        return ToAny(i, 16);
    }
    public static int FromBin(string s)
    {
        return FromAny(s, 2);
    }
    public static string ToBin(int i)
    {
        return ToAny(i, 2);
    }
    public static void Main(string[] args)
    {
        Console.WriteLine(ToBin(FromHex("FF")));
        Console.WriteLine(ToBin(FromDec("11")));
    }
}
Avatar billede Slettet bruger
13. marts 2006 - 21:13 #2
Det her giver mig ingen ting. Heller ikke uden stregerne..?

public static void Main(string[] args)
    {
        Console.WriteLine(ToBin(FromHex("7FMM3-W4FMP-4WRXX-BKDRT-7HG48")));
        Console.WriteLine(ToBin(FromDec("11")));
        Console.ReadLine();
    }
Avatar billede arne_v Ekspert
14. marts 2006 - 04:27 #3
for det første kan den kun konvertere 32 bit ad gangen

for det andet er 7FMM3 ikke hex og derfor virker FromHex ikke
Avatar billede Slettet bruger
14. marts 2006 - 09:23 #4
hmm, så er det jo noget sværere... men min anden funktion gør det jo, bare omvendt
Avatar billede sovsekoder Nybegynder
14. marts 2006 - 11:45 #5
vil det virke? ... regkey'en indeholder meget andet info end bare "XP-key'en"
Avatar billede sovsekoder Nybegynder
14. marts 2006 - 11:45 #6
altså jeg tænker om din CDKey-Changer vil virke... :o :D
Avatar billede Slettet bruger
14. marts 2006 - 23:43 #7
ville jeg da gå ud fra?.. hvis man kunne konvertere det rigtigt
Avatar billede sovsekoder Nybegynder
17. marts 2006 - 11:07 #8
hvad er digits arrayet lig med ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester