Привет всем... вот тут я очень заинтересовался RSA алгоритмом...
Значит я получаю публичный ключ, и остальные параметры на основе которых идет генерация данных... Я тут пытаюсь сделать вход на один сайтик... WebApi
Получил я ответ от сайта вот такой:
CODE ( htmlphp):
скопировать код в буфер обмена
{"success":true,"publickey_mod":"B9D964115FF1812408EC786B112C6A1FDEF5A81E66BC05C6649B91D3FA86F2DE3E89BF0869D3DE94540E7E7ED84F7FDE3312D9B2C8EC205F1C835EE39DACDFDFDF1C9A48D7AB5643A3357A0D3D20DFAEF1B14954BF5709B8DC735D398BA8C5ED408ADABEE47BCE9295D12C0441E6999E850BFDEDB5B44841A2C068535C208A7663482FE02513B31ADB857D364355D8D555C8C30EE1921CF19F52B8B559A241E53E0CFCB876545AED3A630632C646C72F45ECEBF266007CDA8DB88FDB9F77F7160BEEBE0BC27378F1E47546CBF06FC3A84ECD1661125794B1EFBE37A6DA18E826E33A6DBD32B85F8ADDFC2C09C95F17E9E790028A8DA3595AD37F97C785FD21AD","publickey_exp":"010001","timestamp":"72131850000"}
По всей видимости параметры RSA.
Далее я знаю что делать, но написано это на C# или C++...
PHP:
скопировать код в буфер обмена
//RSA Encryption RSACryptoServiceProvider rsa = new RSACryptoServiceProvider (); RSAParameters rsaParameters = new RSAParameters (); rsaParameters.Exponent = HexToByte (rsaJSON.publickey_exp); // это экспонента чтоли? которую я получил выше rsaParameters.Modulus = HexToByte (rsaJSON.publickey_mod); // это публичный ключ который я получил выше rsa.ImportParameters (rsaParameters); byte[] bytePassword = Encoding.ASCII.GetBytes (password); // пароль задан byte[] encodedPassword = rsa.Encrypt (bytePassword, false); // это вытекает из предыдущего string encryptedBase64Password = Convert.ToBase64String (encodedPassword); // это вытекает из предыдущего
Помогите это реализовать в PHP, буду рад помощи.
По сути там идет сама генерация всего... Вот бы помочь мне с этим)
Заранее кто ответит спасибо
Вот интересное: http://phpseclib[dot]sourceforge[dot]net/
(Добавление)
взял http://phpseclib[dot]sourceforge[dot]net
попробовал:
не получилось. "bool(false)".(Отредактировано автором: 14 Февраля, 2013 - 23:57:44)
|