konvert net framework class u php

konvert net framework class u php

offline
  • Pridružio: 15 Jul 2009
  • Poruke: 150

Pozz, moilm nekog ko bi mogao da mi pomogne da konvertujem sledecu klasu u php, stvarno ne znam nista sto se tice net framework, ako je moguce hvala vam puno! Ovo je klasa koju treba da portujem u php:

using System; using System.Security.Cryptography; using System.Text; namespace A {    public sealed class STXSTX    {       private const string SOH = "dCjYWWu2jnGRfO/am3qRi3UTi885YHf/t+xcwpvVbRYv0duHLTt52D0hRPhsQ9SlJptZccS04qlFzdzb3PoL+w==";       private const int STX = 18;       private static HMACSHA1 ETX = new HMACSHA1(Convert.FromBase64String("dCjYWWu2jnGRfO/am3qRi3UTi885YHf/t+xcwpvVbRYv0duHLTt52D0hRPhsQ9SlJptZccS04qlFzdzb3PoL+w=="));       public static string EOT(string SOH)       {          byte[] bytes = Encoding.GetEncoding(1252).GetBytes(SOH);          byte[] sourceArray = STXSTX.ETX.ComputeHash(bytes);          byte[] array = new byte[18];          Array.Copy(sourceArray, 0, array, 0, array.Length);          return Convert.ToBase64String(array).Replace('/', '-');       }    } } string text = string.Concat(new string[]          {             "userdoe1",             "/2/script/search/TAC8=",             "35168006",             "/CDA=",             "1280-7866"          }); string text2 = A.STXSTX.EOT(text);   HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(string.Concat(new string[]             {                "http://software.sonymobile.com/ns/",                text,                "_",                text2,                ".ser.gz"             }));

Znaci finalni url bi trebao da bude: http://software.sonymobile.com/ns/usdoe1/2/script/search/TAC8=35168006/CDA=1280-7866_Mytr4p2cPugz8kWVBwCRUJz9.ser.gz

Stvarno ne znam kako ovo da dobijem u php Sad



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 18 Feb 2007
  • Poruke: 31
  • Gde živiš: Republika Srpska,Banja Luka

Ne znam ni ja net framework ,ali pokusacu da prevedem neke stvari koje su ocigledne ,pa ti sam pokusaj ukomponovati:
Ovo na pocetku su po meni interface:
 using System; using System.Security.Cryptography; using System.Text;
pa njih trebas pomocu komande implements da inkorporiras u ovu dole klasu.
Ovo namespace A hmm razmisljam sta bi moglo biti ,ali mi izgleda kao da taj namespace A extends samo ovu dole klasu.
Sljedece:
public sealed class STXSTX bih preveo kao : final public class STXSTX
Koliko vidim net framework za svaki string pojasnjava koji je tip istog:
Pa bi
private const string SOH = "dCjYWWu2jnGRfO/am3qRi3UTi885YHf/t+xcwpvVbRYv0duHLTt52D0hRPhsQ9SlJptZccS04qlFzdzb3PoL+w==";
bilo :
const SOH = "dCjYWWu2jnGRfO/am3qRi3UTi885YHf/t+xcwpvVbRYv0duHLTt52D0hRPhsQ9SlJptZccS04qlFzdzb3PoL+w==";
i sljedeca vrijednost gore je takodje konstanta.Onda ide private static HMACSHA1 ETX ,ovo je staticka varijabla ali ovdje u net framework objasnjava da je to tip varijable koji ima neku enkripciju (HMACSHA1 ) u PHP-u nije potrebno pojasnjavati kakav je tip. u PHP-u bi bilo :
private static $ETX = //posto je ovo varijabla,a ne konstanta.
Zatim public static string EOT(string SOH) je ocigledno koliko vidim neka metoda (u PHP-u bi bilo):
public static function EOT(self::SOH){
Ovaj dio :
         byte[] bytes = Encoding.GetEncoding(1252).GetBytes(SOH);          byte[] sourceArray = STXSTX.ETX.ComputeHash(bytes);          byte[] array = new byte[18];
Bih preveo:
        byte[bytes] = Encoding.GetEncoding(1252).GetBytes(SOH);//treba vidjeti cime se puni ovaj red         byte[sourceArray ] = STXSTX.ETX.ComputeHash(bytes); //....         Array.Copy(sourceArray, 0, array, 0, array.Length); //mi izxgleda nesto kao array_merge() }
Dakle pitanje je da li se ova klasa moze prevesti u PHP,ako su u ovu klasu inkorporirani interface koji bi se takodje trebali onda napraviti.Eto na prvu,palim sad.



offline
  • Pridružio: 15 Jul 2009
  • Poruke: 150

Ej hvala ti na pokusaju da pomognes drago mi je da cujem to, mada i dalje ne kontam nista. Pokusao sam naci neki tool koji konvertuje net u java ili net u php ali nisam nasao nista, tj nasao sam nesto online ali mi izbacuje neku gresku odmah na pocetku Sad

Ovo ne razumem string text2 = A.STXSTX.EOT(text); Znaci text2 treba da dobijem a to je onaj hash Mytr4p2cPugz8kWVBwCRUJz9

namespace A mi stvarno deluje budalasto da ne mogu nikako da provalim sta treba da se uradi ali sigurno extends ovo dole po meni

offline
  • Pridružio: 18 Feb 2007
  • Poruke: 31
  • Gde živiš: Republika Srpska,Banja Luka

Sad uvidjam da net framework ima nesto od semantike javascripta,ovo string text2 = A.STXSTX.EOT(text); je koliko vidim : $text2 = A(ime ove prve valjda klase ovo namespace sta li je),pa onda STXSTX ime te klase ispod,pa EOT ime metode,u PHP bi to islo puno jednostavnije $text2 = self::EOT(text); jer je ovo EOT staticka metoda.Dakle moguce je da je ova klasa neprevodiva u PHP sve dok ne budemo imali ovo na pocetku
using System; using System.Security.Cryptography; using System.Text;
sto je vjerovatno interface koji bi se implements u samu klasu.
p.s. kako stavis ovdje na forumu da ti ovo bude napisano kao kod?

offline
  • Pridružio: 15 Jul 2009
  • Poruke: 150

Napisano: 29 Mar 2015 13:21

Ovako nekako:
$bytes = 'usdoe1/2/script/search/TAC8=35168006/CDA=1280-7866'; $sourceArray = hash_hmac('sha1', $bytes, base64_decode("dCjYWWu2jnGRfO/am3qRi3UTi885YHf/t+xcwpvVbRYv0duHLTt52D0hRPhsQ9SlJptZccS04qlFzdzb3PoL+w==")); $array = substr($sourceArray, 0, 36); $array = str_replace("/", "-", $array); echo base64_encode($array);
Ali ne daje mi isti onaj hash: Mytr4p2cPugz8kWVBwCRUJz9

Dopuna: 29 Mar 2015 14:47

Uspeo sam jedva nekako \0/

Resenje:
if (!function_exists('hex2bin')) {     function hex2bin($str) {         $sbin = "";         $len = strlen($str);         for ($i=0; $i<$len; $i+=2)             $sbin .= pack("H*", substr($str, $i, 2));         return $sbin;     } } function A_STXSTX_EOT($text) {     $key = base64_decode("dCjYWWu2jnGRfO/am3qRi3UTi885YHf/t+xcwpvVbRYv0duHLTt52D0hRPhsQ9SlJptZccS04qlFzdzb3PoL+w==");     $sourceArray = hash_hmac('sha1', $text, $key);     $array = substr($sourceArray, 0, 36);     return base64_encode(hex2bin($array)); } echo A_STXSTX_EOT('usdoe1/2/script/search/TAC8=35168006/CDA=1280-7866');

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

@aljosa7 druze ajde molim te konvertuj taj kod u predhodne 2 poruke sa [ code] [ /code]

Ko je trenutno na forumu
 

Ukupno su 896 korisnika na forumu :: 7 registrovanih, 1 sakriven i 888 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Fabius, goxin, Marko Marković, opt1, Romibrat, SR-3m, TBF1D