» Poradna » Programy

PHP funkce do C#

 |   |  Microsoft Windows 7 Firefox 45.0

Ahoj, potřeboval bych převést jednu funkci z php do C#, obě mají téměř stejný výsledek, ale potřebuji aby byl naprosto stejný.PHP:function packet_enc($packet){$str_enc = "";for($i = 0; $i < strlen($packet); $i++)$str_enc .= chr((ord($packet[$i])^195) + 15);return $str_enc .= chr(216);}C#: public static byte[] EncryptLogin(string packet) { string str_enc = ""; int number=0; for (int i = 0; i < packet.Length; i++) { number = (ord(packet[i].ToString()) ^ 195) + 15; str_enc += chr(number); } return StringToByte(str_enc += chr(216)); } public static int ord(string str) { return Encoding.Unicode.GetBytes(str)[0]; } public static string chr(int number) { return ((char)number).ToString(); }

Mohlo by vás také zajímat

Odpovědi na otázku

 | Microsoft Windows 7 Chrome 49.0.2623.112

A můžeš říct čím se to liší? jak jsem se na to zběžně koukl tak to vypadá že by to mělo být stejné. Ale nechce se mi to testovat abych našel ty drobné detaily o kterých už víš.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 45.0

Liší se to tím, že mi každá funkce vrátí něco jiného.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 7 Firefox 38.0

S kodem neporadim, PHP se vyhybam velkym obloukem, ale mel bych ze zvedavosti dotaz - mas nejaky duvod, proc psat vlastni "sifrovani"? To byva malokdy dobry napad a tohle konkretne je pro zkusenejsiho sitare pruhledne na prvni pohled.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 7 Firefox 38.0

A co se tyka rozdilu - nedela ti tam problemy to Unicode? Tezko soudit, kdyz nenapises *v cem* se ty vystupy lisi (idealne s nejakym prikladem)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 49.0.2623.112

Osobne taky tipuju kodovani.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 7 Firefox 38.0

To neni tip, to je fakt

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 45.0

Jsou to šifrovací funkce jedné hry, snažím se udělat bota který nepotřebuje klienta, výstupy se zas až tolik neliší, ale sem tam něco ulítnePHP:156/187/159/2/5/3/5/242/255/9/9/10/0/1/6/242/168/177/182/181/183/5/1/0/242/1/1/1/6/1/255/5/4/144/148/255/4/3/150/5/3/255/2/6/3/255/5/1/3/5/6/255/4/6/5/6/3/5/0/0/255/5/1/242/2/2/10/144/10/143/148/9/215/2/252/9/252/255/252/255/2/5/5/242/2/242/3/149/10/144/149/150/6/149/1/149/5/0/149/10/4/150/150/3/4/143/145/6/1/149/145/143/144/9/5/0/1/255/216/C#63/187/63/2/5/3/5/242/255/9/9/10/0/1/6/242/168/177/182/181/183/5/1/0/242/1/1/1/6/1/255/5/4/144/63/255/4/3/63/5/3/255/2/6/3/255/5/1/3/5/6/255/4/6/5/6/3/5/0/0/255/5/1/242/2/2/10/144/10/143/63/9/215/2/252/9/252/255/252/255/2/5/5/242/2/242/10/144/63/143/63/5/1/4/63/144/4/255/63/9/63/5/3/9/6/4/3/63/6/3/63/0/4/143/6/1/63/63/216/

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux AppleMAC-Safari 5.0

Jsi si jistý že máš na vstupu Unicode string? Spíš by jsi měl nejdřív ten encoding detekovat, nebude to spíš UTF-8?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 45.0

Já se snažím jenom enkodovat paketu, která vypadá asi takhle: $login_packet = "NoS0575 3998214 Zadek512 11141356BF367D573047351754364547522351 008B8CF9".chr(11)."0.9.3.3055 0 7E8BED4E1E52E86DD76CA41EACB95213"; Nevím jak z toho poznat jestli je to UTF-8 nebo Unicode, jde mi jenom o to to enkodovat :D

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Unicode, Number, String, Return, Public