Что делает C # при вводе буквы в int?

Мы реализуем шифрование для внешнего интерфейса. Владелец интерфейса предоставил документацию о том, как выполнить такое же шифрование на нашей стороне. Однако эта документация находится на C #, а мы работаем на PHP.

Большинство частей, которые мы понимаем, за исключением того, где они, кажется, типизируют хэш int. Их код гласит:

// hashString exists and is a md5 a like string
int[] keyBuffer = new int[hashString.length];
for (int i=0; i<hashString.length; i++) {
    keyBuffer[i] = (int)hashString[i];
}

В PHP при преобразовании буквы в int вы получаете 0 (int). Поскольку мы не можем себе представить, что это означает третье лицо, мы считаем, что C # делает что-то еще.

Does C# also cast to int 0, or possibly to a char?

Во-вторых, оригинальная строка hashString имеет длину 320. Это означает, что код будет создавать int длиной 320? В PHP у вас нет этой идеи резервирования памяти, как в C # здесь. Но когда мы пытаемся типизировать строку длиной 320 в int, мы получаем int, равное 19 'chars'. долго.

Does C# also create a shorter int when typecasting a really long 'number' in a string?

Ответы на вопрос(5)

Ваш ответ на вопрос