Шестнадцатеричные циклы в C# [решено] - PullRequest
0 голосов
/ 08 апреля 2020

Моя цель состояла в том, чтобы получить пароль 3DES и для этого мне не хватает последних 6 цифр.

for (int i = 0; i <= 16777215; i++)
{
    string hexValue = i.ToString("X").PadLeft(6, '0');
}

Ответы [ 3 ]

0 голосов
/ 08 апреля 2020

Вы можете просто получить максимальное число в вашем шестнадцатеричном наборе, которое идет от [0, FFFFFF] в десятичном виде, а множество идет от [0, 16777215]

for(int i = 0; i <= 16777215; i++) {
  string hexValue = i.ToString("X");
  // your logic goes here...
}
0 голосов
/ 08 апреля 2020

Это должно сделать это:

var allHexadecimals = Enumerable.Range(0, 0xFFFFFF + 1)
                                .Select(i => i.ToString("X").PadLeft(6, '0'));
0 голосов
/ 08 апреля 2020

Вы можете фактически преобразовать напрямую в шестнадцатеричный код из c#, ознакомьтесь с этой статьей:

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/how-to-convert-between-hexadecimal-strings-and-numeric-types

например, for(int i = 0x0; i < 0xff;i+=0x01) {Console.WriteLine(iConsole.WriteLine(value.ToString("X"));}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...