Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
-1 / 0 / 0
Регистрация: 15.12.2013
Сообщений: 21

RSA шифрование

06.01.2014, 19:17. Показов 3243. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет , не могу никак пройти авторизацию в стиме.
Там нужно:
Получить экспоненты RSA и паблик кей.
Пример:

Запрос(ПОСТ) - http://steamcommunity.com/logi... ?username= тут логин
{"success":true,"publickey_mod":"B823AB6 DAE732A0B8325CBD75B08FA22D1AEEDABF3A2905 BD405522EDAFEDF62CA5624E0E54E2DCC65EE1F4 11A88A91F1D7EA7AA46D366945CC525D5632E144 0C9A0D8CC2544AE856A85643FD6A01A6DC8ADFB5 49EC64E3CDC5DD8C58257612D3838970484E7E7D 46368638FDE2F483C9EBCD9C0FB292D35622EDE0 80246BB478824475A0EBDADB21D3641E088C00A8 703E7D16FC2023505D62E6A9BC22BEF643BE699F E4105FFDBD6F34978CAADC925F7713F0DEAC34B2 9337D5E7327CC48567C89C5A8F77C6D834F0790F 424D0A3630ACCA1D8257555D515089C69CD76AD2 8C810F6A7AEF838A075A4882D1F88279BC2D0EED 1384FF539C1AC59669FC63F8D","publickey_ex p":"010001","timestamp":"162076000000 "}

Потом сам пост запрос на сайт , что-бы войти в аккаунт.

password=gBpz/Qhhc/owoKM3fE1e7/d6HzeBVqW19zhKWASqVHZVsktlO/8aO5go6p60nhpCFj1sWago6h8cM6VGVm/KMJ5M5DNoZbXgmVHglB0Fbe0zns0mt3vWaeMC1aI Zujd66Qdgji6sIqL3pTLu/2NOo3pPtdal8m6i8WbLksw5VdFL/X09z8TEYvYCtVPLf9lALmp98mo5yzI8KEaSKvV+/zX3Vl1VOnbKI0XmNqoeeaPKz7vsJSZS/k4uyooS5Wa+5n6irEIc451k64+Fz1xSWB+6/K+oXzn8dDvntgBRwR3U6ECAuE7VnSttcQ2pIXRSt V+zZ7VE0jOiw5Qjszk0Ug==&username=asd&ema ilauth=&captcha_gid=&captcha_text=&email steamid=&rsatimestamp=162076000000

Собственно в чем вопрос , как зашифровать этот пароль , есть какие-то библиотеки ? Толкового ничего пока не находил.

Добавлено через 4 минуты
Вот пример кода на шарпе -
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
string GetRsa = VkRequest.Request("https://steamcommunity.com/login/getrsakey/", "username=" + login, method: "POST", cookies: cc, additionalHeaders: new ViKing.Engine.HTTPHeaderItem[] { 
            new ViKing.Engine.HTTPHeaderItem("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11"), 
            new ViKing.Engine.HTTPHeaderItem("Referer", "http://steamcommunity.com/trade/1") }).ContentUTF8;
                    string TMP = Helper.parse(GetRsa, "timestamp\":\"", "\"}", "");
                    string pk = Helper.parse(GetRsa, "publickey_mod\":\"", "\",", "");
                    string exp = Helper.parse(GetRsa, "exp\":\"", "\",", "");
                    RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
                    RSAParameters rsaParameters = new RSAParameters();
                    rsaParameters.Exponent = Helper.HexToByte(exp);
                    rsaParameters.Modulus = Helper.HexToByte(pk);
                    rsa.ImportParameters(rsaParameters);
                    byte[] bytePassword = Encoding.ASCII.GetBytes(password);
                    byte[] encodedPassword = rsa.Encrypt(bytePassword, false);
                    string encryptedBase64Password = Convert.ToBase64String(encodedPassword);
И вот , что я нашел в самом HTML коде страницы сайта.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
var RSAPublicKey = function($modulus_hex, $encryptionExponent_hex) {
    this.modulus = new BigInteger( $modulus_hex, 16);
    this.encryptionExponent = new BigInteger( $encryptionExponent_hex, 16);
}
 
var Base64 = {
    base64: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
    encode: function($input) {
        if (!$input) {
            return false;
        }
        var $output = "";
        var $chr1, $chr2, $chr3;
        var $enc1, $enc2, $enc3, $enc4;
        var $i = 0;
        do {
            $chr1 = $input.charCodeAt($i++);
            $chr2 = $input.charCodeAt($i++);
            $chr3 = $input.charCodeAt($i++);
            $enc1 = $chr1 >> 2;
            $enc2 = (($chr1 & 3) << 4) | ($chr2 >> 4);
            $enc3 = (($chr2 & 15) << 2) | ($chr3 >> 6);
            $enc4 = $chr3 & 63;
            if (isNaN($chr2)) $enc3 = $enc4 = 64;
            else if (isNaN($chr3)) $enc4 = 64;
            $output += this.base64.charAt($enc1) + this.base64.charAt($enc2) + this.base64.charAt($enc3) + this.base64.charAt($enc4);
        } while ($i < $input.length);
        return $output;
    },
    decode: function($input) {
        if(!$input) return false;
        $input = $input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
        var $output = "";
        var $enc1, $enc2, $enc3, $enc4;
        var $i = 0;
        do {
            $enc1 = this.base64.indexOf($input.charAt($i++));
            $enc2 = this.base64.indexOf($input.charAt($i++));
            $enc3 = this.base64.indexOf($input.charAt($i++));
            $enc4 = this.base64.indexOf($input.charAt($i++));
            $output += String.fromCharCode(($enc1 << 2) | ($enc2 >> 4));
            if ($enc3 != 64) $output += String.fromCharCode((($enc2 & 15) << 4) | ($enc3 >> 2));
            if ($enc4 != 64) $output += String.fromCharCode((($enc3 & 3) << 6) | $enc4);
        } while ($i < $input.length);
        return $output; 
    }
};
 
var Hex = {
    hex: "0123456789abcdef",
    encode: function($input) {
        if(!$input) return false;
        var $output = "";
        var $k;
        var $i = 0;
        do {
            $k = $input.charCodeAt($i++);
            $output += this.hex.charAt(($k >> 4) &0xf) + this.hex.charAt($k & 0xf);
        } while ($i < $input.length);
        return $output;
    },
    decode: function($input) {
        if(!$input) return false;
        $input = $input.replace(/[^0-9abcdef]/g, "");
        var $output = "";
        var $i = 0;
        do {
            $output += String.fromCharCode(((this.hex.indexOf($input.charAt($i++)) << 4) & 0xf0) | (this.hex.indexOf($input.charAt($i++)) & 0xf));
        } while ($i < $input.length);
        return $output;
    }
};
 
var RSA = {
 
    getPublicKey: function( $modulus_hex, $exponent_hex ) {
        return new RSAPublicKey( $modulus_hex, $exponent_hex );
    },
 
    encrypt: function($data, $pubkey) {
        if (!$pubkey) return false;
        $data = this.pkcs1pad2($data,($pubkey.modulus.bitLength()+7)>>3);
        if(!$data) return false;
        $data = $data.modPowInt($pubkey.encryptionExponent, $pubkey.modulus);
        if(!$data) return false;
        $data = $data.toString(16);
        return Base64.encode(Hex.decode($data));
    },
 
    pkcs1pad2: function($data, $keysize) {
        if($keysize < $data.length + 11)
            return null;
        var $buffer = [];
        var $i = $data.length - 1;
        while($i >= 0 && $keysize > 0)
            $buffer[--$keysize] = $data.charCodeAt($i--);
        $buffer[--$keysize] = 0;
        while($keysize > 2)
            $buffer[--$keysize] = Math.floor(Math.random()*254) + 1;
        $buffer[--$keysize] = 2;
        $buffer[--$keysize] = 0;
        return new BigInteger($buffer);
    }
}
За помощь , могу отблагодарить =)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.01.2014, 19:17
Ответы с готовыми решениями:

RSA шифрование.
Искал везде, но не где не нашёл, как зашифровать\дешифровать файл по методу RSA. Если кто-нибудь знает как это сделать, напишите пожалуйста.

RSA шифрование
Пытаюсь авторизоваться в стиме, получаю модуль и экспоненту : модуль:...

Шифрование RSA
Здравствуйте. У меня есть проблема с шифрованием RSA. Данная программа лишь шифрует (точнее должна шифровать, но не делает этого не знаю...

2
-1 / 0 / 0
Регистрация: 15.12.2013
Сообщений: 21
08.01.2014, 23:08  [ТС]
Разобрался.
0
0 / 0 / 0
Регистрация: 24.10.2013
Сообщений: 28
20.07.2014, 18:05
Как разобрался то? Напиши хоть, пжста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.07.2014, 18:05
Помогаю со студенческими работами здесь

Шифрование Rsa,pgp и т.д
Добрый день, такая проблема Не могу найти библиотеку pgp sdk, нашёл 4 манула и все слылаются на один сайт, но он не работает. Люди,...

Шифрование текста алгоритмом RSA
Всем привет. Помогите пожауйста с реализацией шифрования в Delphi, с использванием алгоритма RSA Что вообще нужно для этого? Я...

RSA кейген
Проблема с генерацией ключа Д( уравнение в целых числах d=(k*phi +1)/e , неизвестны d и k, ищем d ). При генерации в лоб(перебираем...

RSA шифрование
Привет Программерам, у меня вопрос есть программа которая шифрует и дешифрует методом РСА , но дело в том что делает это она пока не...

Шифрование RSA
Имеется 1 публичный ключ и текст. Нужно зашифровать текст по методу RSA Добавлено через 20 минут Пользовался RSACALC, но в потоке её...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru