Co robi C # podczas pisania listu do int?

Musimy zaimplementować szyfrowanie zewnętrznego interfejsu. Właściciel interfejsu przekazał dokumentację dotyczącą tego, jak wstępnie wykonać to samo szyfrowanie po naszej stronie. Jednak ta dokumentacja jest w C # i pracujemy w PHP.

Większość części, które rozumiemy, z wyjątkiem miejsc, w których wydają się wpisywać skrót do int. Ich kod brzmi:

// 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];
}

W PHP, rzucając literę jako int, otrzymujesz 0 (int). Ponieważ nie wyobrażamy sobie tego, co oznacza strona trzecia, wierzymy, że C # robi coś innego.

Czy C # także rzutuje na int 0 lub ewentualnie na char?

Po drugie, oryginalny hashString ma długość 320. Oznacza to, że kod będzie tworzył int, który ma 320 długości? W PHP nie masz takiego pomysłu na rezerwowanie pamięci, jak robi to C #. Ale gdy próbujemy wpisać ciąg 320 znaków do int, otrzymujemy int, który ma długość 19 znaków.

Czy C # tworzy również krótszy int, kiedy wpisuje naprawdę długi „numer” w łańcuchu?

questionAnswers(5)

yourAnswerToTheQuestion