外部インターフェイスの暗号化を実装する必要があります。インターフェースの所有者は、私たちの側で同じ暗号化を実行する方法のドキュメントを提供しています。ただし、このドキュメントは 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# は別のことを行うと考えています。
C# も int 0 または char にキャストしますか?
次に、元の hashString の長さは 320 です。これは、コードが 320 の長さの int を作成することを意味します?? PHP では、C# のようにメモリを予約するという考えはありません。しかし、320 の長い文字列を int に型キャストしようとすると、19 '文字' の長さの int が得られます。
文字列で本当に長い「数値」を型キャストするとき、C#は短いintも作成しますか?