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"; } }
Annonceindlæg fra Barco
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"))); } }
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(); }
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
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
14. marts 2006 - 11:45
#5
vil det virke? ... regkey'en indeholder meget andet info end bare "XP-key'en"
14. marts 2006 - 11:45
#6
altså jeg tænker om din CDKey-Changer vil virke... :o :D
Slettet bruger
14. marts 2006 - 23:43
#7
ville jeg da gå ud fra?.. hvis man kunne konvertere det rigtigt
17. marts 2006 - 11:07
#8
hvad er digits arrayet lig med ?
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.