phpbar.de logo

Mailinglisten-Archive

[php] Funktion zur Hexumwandlung von C nach PHP portieren

[php] Funktion zur Hexumwandlung von C nach PHP portieren

Alex Haeussel php at haeussel.net
Die Mar 18 15:36:20 CET 2008


Hi Norbert,

>>k�nntest Du bitte zwei oder drei signifikante Wertepaare posten?
>>Dann kann jeder selbst sofort nachpr�fen, ob seine Idee passt ...

Aber gerne doch ;)
Ich habe selbst gerade gesehen, das ich einen Fehler gemacht habe. Die
Funktion sum_add bekommt noch eine reference �bergeben. Meine
C-Codeschnipsel waren aus einer Mail. Hier noch mal das Original aus der
Doku und das dazugeh�rige Beispiel:

void sum_add(ulong* sum, const char* str)
{
   size_t len=strlen(str);
   for(size_t i=0; i<len; i++) {
      *sum = (*sum + ((ulong)str[i] * ((i+1)<<4))) % 0x10000;
   }	
}

The following section shows the step-by-step results of the key
calculations:
ulong sum = 0;
sum_add(&sum, ""); // "Stop" param, sum is 0 after this operation
sum_add(&sum, ""); // "Scope" param, sum is 0 after this operation
sum_add(&sum, "Dr.X"); // User id, sum is 0x00003120
sum_add(&sum, "1065507963"); // Time stamp, sum is 0x0000e6f0
sum_add(&sum, "12121212-1212"); // Patient id, sum is 0x0000fe20
sum_add(&sum, "1234^2345"); // Accession numbers, sum is 0x00009c40
sum_add(&sum, "001^001"); // Exam numbers, sum is 0x0000fc60
sum_add(&sum, "test"); // System password, sum is 0x000042d0

Im Grunde ist es zwar schon so wie ich es auch vorher gschrieben habe, nur
die Wertepaare machen nur dann Sinn wenn man auch den vorherigen Wert mit
�bergibt bzw. die Reference.
Das nur der Vollst�ndigkeit halber.

Gr��e und Danke f�r die M�he.

Alex H�ussel




php::bar PHP Wiki   -   Listenarchive